IOS navigationController.hidesBarsOnSwipe diabled其他刷卡

时间:2014-10-02 07:16:47

标签: ios ios8

在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];

是否有人有类似的问题?

感谢。

3 个答案:

答案 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
}