J'ai créé un projet de vue unique et ajouté une collectionView. Je me suis inscrit une sous-classe simple UICollectionReusableViewiOS11 UICollectionSectionHeader indicateur de défilement de l'affichage
final class TestReusableView: UICollectionReusableView {
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor.red
}
...
}
Set et délégué à la source de données auto
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)
}
}
Le résultat est l'en-tête de la section semble être positionné au-dessus de l'indicateur de défilement vertical. Cependant, si je cours l'application contre un simulateur 10.3.1, le comportement fonctionne comme je m'attendais.
J'ai aussi rencontré problème similaire avec iOS 11.0 où en-tête de la section est positionnée au-dessus de toutes les vues. Tout fonctionne bien dans 10.3. – Aks
Apparemment ressemble à iOS 11.0 + problème. Je cours dedans aussi. RADAR le plus proche que je peux trouver est le suivant: http://www.openradar.me/34308893 – isoiphone