IOS navigationController.hidesBarsOnSwipe禁用了其他滑动

问题描述 投票:1回答:3

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

有人有类似的问题吗?

ios ios8
3个回答
0
投票
 navigationController?.hidesBarsOnSwipe = true
 navigationController?.hidesBarsOnTap = true

0
投票

在您的手势识别器上设置一个委托。即实施协议

UIGestureRecognizerDelegate

然后使用适当的方法,例如

gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:

确定两个手势识别器应如何协同工作。您可以通过

获得导航手势识别器

self.navigationController.barHideOnSwipeGestureRecognizer


0
投票

实施UIGestureRecognizerDelegate

并覆盖以下方法:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}
© www.soinside.com 2019 - 2024. All rights reserved.