Utworzono projekt pojedynczego widoku i dodano kolekcjęViewView. Zarejestrowałem prosty podklasę UICollectionReusableViewZnacznik przewijania UCLEIClectionSectionHeader Clipper
final class TestReusableView: UICollectionReusableView {
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor.red
}
...
}
Set DataSource i przenoszą na siebie
extension ViewController: UICollectionViewDataSource {
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 100
}
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: kHeader, for: indexPath)
return headerView
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)
cell.backgroundColor = UIColor.blue
return cell
}
}
extension ViewController: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
return CGSize(width: collectionView.bounds.width, height: 88)
}
}
Rezultatem jest nagłówek sekcja wydaje się być umieszczona powyżej pionowej wskaźnik przewijania. Jeśli jednak uruchomię aplikację na symulatorze 10.3.1, zachowanie będzie działać tak, jak się spodziewam.
Mam również napotkał podobny problem z iOS 11,0 gdzie sekcja nagłówka jest umieszczony powyżej wszystkich widokach. Wszystko działa dobrze w 10.3. – Aks
Zdecydowanie wygląda na problem z iOS 11.0+. I ja też na to wpadam. Najbliższy RADAR, jaki mogę znaleźć, to: http://www.openradar.me/34308893 – isoiphone