所以我想在向下滚动时隐藏导航栏并在向上滚动时将其拉回来.隐藏它完美地与
self.navigationController?.hidesBarsOnSwipe = true
Run Code Online (Sandbox Code Playgroud)
但我希望在向上滚动时再次显示它.我做了一个测试项目,其中视图控制器只有一个覆盖整个屏幕的UICollectionView.然后显示导航栏按预期再次显示,直到我将此行添加到viewDidLoad(将单元格添加到集合视图):
self.collectionView.delegate = self
Run Code Online (Sandbox Code Playgroud)
这就是整个视图控制器的样子
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 …Run Code Online (Sandbox Code Playgroud)