在iOS 11中,如果我们设置为隐藏,则在滚动tableView时会隐藏searchBar。滚动collectionView时如何隐藏searchBar,navigationBar和tabBar?向下滚动时取消隐藏所有内容?谢谢你的帮助...
答案 0 :(得分:3)
class ViewController: UIViewController, UIScrollViewDelegate { codes... }
)实现scrollViewDidScroll委托方法
func scrollViewDidScroll(scrollView: UIScrollView) {
let pan = scrollView.panGestureRecognizer
let velocity = pan.velocityInView(scrollView).y
if velocity < -5 {
self.navigationController?.setNavigationBarHidden(true, animated: true)
self.navigationController?.setToolbarHidden(true, animated: true)
} else if velocity > 5 {
self.navigationController?.setNavigationBarHidden(false, animated: true)
self.navigationController?.setToolbarHidden(false, animated: true)
}
}
答案 1 :(得分:0)
将KTang接受的答案翻译成Objective-C:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
CGFloat velocity = [pan velocityInView:scrollView].y;
if (velocity < -5) {
[self.navigationController setNavigationBarHidden:YES animated:YES];
[self.navigationController setToolbarHidden:YES animated:YES];
} else if (velocity > 5) {
[self.navigationController setNavigationBarHidden:YES animated:YES];
[self.navigationController setToolbarHidden:YES animated:YES];
}
}