【发布时间】:2014-01-26 08:10:07
【问题描述】:
在 iOS7 中,我们有一个新的“从左向右滑动”手势,这是一个非常有用的功能,但现在我遇到了问题。
我使用此代码自定义UINavigationBar 中的后退按钮。
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:view];
但这会禁用“从左向右滑动”手势,所以我使用以下代码来保持手势启用。
self.navigationController.interactivePopGestureRecognizer.delegate = self
然后,我发现手势工作异常,如果当前ViewController有一个tableView,当tableView滚动时,手势不会被触发。现在手势不能轻易触发,有什么办法可以解决吗?
【问题讨论】:
-
您是否尝试在您的 ´UIGestureRecognizerDelegate´ 上实现:´– gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:´ 然后您可以检查其中一个手势是否是 swipetopop 手势并返回 YES。
-
@PeterSegerblom 它有效!我实现了 -
(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer,return YES;来禁用 otherGestureRecognizer,所以当前的 ViewController 不会收到UIPanGestureRecognizer滚动UITableView。现在看起来很好,非常感谢! -
Swift 3 解决方案:stackoverflow.com/a/43433530/308315
标签: ios iphone objective-c ios7 uinavigationbar