Also ich möchte die navbar beim runterscrollen verstecken und beim scrollen nach oben bringen. Hiding es funktioniert perfekt mithidesBarsOnSwipe zeigt die navbar beim scrollen nie wieder an
self.navigationController?.hidesBarsOnSwipe = true
Aber ich erwarte, dass es noch einmal gezeigt werden beim Scrollen nach oben. Ich habe ein Testprojekt gemacht, bei dem der View-Controller nur eine einzige UICollectionView hat, die den gesamten Bildschirm abdeckt. Dann wird die navbar zeigt wieder gezeigt, wie erwartet, bis ich diese Zeile in die viewDidLoad (Hinzufügen von Zellen zu der Sammlung Ansicht) hinzufügen:
self.collectionView.delegate = self
Und das ist, was die ganzen View-Controller wie
sehenclass 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)
}
}
Warum funktioniert das Anzeigen der Navigationsleiste nicht mehr, wenn ich meiner Sammlungsansicht Zellen hinzufüge?
Dies war die einzige Lösung, die ich finden konnte, die funktionierte. Mein Fall war ein UITableViewController in einem UIViewController eingebettet. –
Wow, gut gesichtet! Sehr seltsames Verhalten ... – Martin
Ich denke, die Antwort bedeutete "Top Layout Guide.Bottom" statt "Top Layout Guide.Top" – pshah