在IOS 8中,它有一项新功能可以在滑动时隐藏栏。所以我试了一下。但是,它禁用了我的其他滑动功能。代码是这样的:
self.navigationController.hidesBarsOnSwipe = YES;
// The follow code works if I comment out the above line
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(backBarButtonItemPressed:)];
[swipe setDirection:UISwipeGestureRecognizerDirectionRight];
[swipe setNumberOfTouchesRequired:1];
[self.view addGestureRecognizer:swipe];
[self.webView.scrollView.panGestureRecognizer requireGestureRecognizerToFail:swipe];
是否有人有类似的问题?
感谢。
答案 0 :(得分:0)
navigationController?.hidesBarsOnSwipe = true
navigationController?.hidesBarsOnTap = true
答案 1 :(得分:0)
在手势识别器上设置代理。即实施协议
UIGestureRecognizerDelegate
然后使用适当的方法,例如
gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
确定两个手势识别器应如何协同工作。 您可以使用
获取导航手势识别器 self.navigationController.barHideOnSwipeGestureRecognizer
答案 2 :(得分:0)
实施UIGestureRecognizerDelegate
并覆盖以下方法:
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}