hidesBarsOnSwipe nie zeigt navbar wieder beim scrollen bis

So, ich möchte zum ausblenden der Navigationsleiste beim scrollen nach unten und bringen Sie es zurück, wenn das scrollen nach oben. Versteckt es funktioniert perfekt mit

self.navigationController?.hidesBarsOnSwipe = true

Aber ich erwarte, dass es wieder angezeigt werden, wenn das scrollen nach oben. Ich machte ein test-Projekt, bei dem die view-controller nur einen einzigen UICollectionView, die den gesamten Bildschirm erstreckt. Dann zeigt die navbar wieder gezeigt wird, wie erwartet, bis ich diese Zeile in die viewDidLoad (hinzufügen von Zellen zu der Ansicht Sammlung):

self.collectionView.delegate = self

Und das ist, was die ganze view-controller sieht aus wie

class ViewController: UIViewController,UICollectionViewDataSource, UICollectionViewDelegate {

@IBOutlet var collectionView: UICollectionView!
override func viewDidLoad() {
    super.viewDidLoad()
    self.collectionView.dataSource = self
    self.collectionView.delegate = self
    self.collectionView.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: "Test")
    self.navigationController?.hidesBarsOnSwipe = true
}

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 3
}

func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
    return 1
}

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    return collectionView.dequeueReusableCellWithReuseIdentifier("Test", forIndexPath: indexPath) as UICollectionViewCell
}

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    return CGSizeMake(300, 300)
}
}

Also warum zeigen die navbar aufhören zu arbeiten, wenn ich das hinzufügen von Zellen zu meine Sammlung sehen?

Schreibe einen Kommentar