UINavigationViewController interactivePopGestureRecognizer

原创 2015年11月17日 17:34:09

如何打开交互手势,在自定义返回按钮的情况下
self.navigationController.interactivePopGestureRecognizer.enable = YES;
self.navigationController.interactivePopGestureRecognizer.delegate = self

开发中遇到的问题, UIWebView 的情况下,如何支持 交互手势

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return [gestureRecognizer isKindOfClass:UIScreenEdgePanGestureRecognizer.class];
}

for (UIGestureRecognizer *gestureRecognizer in _colView.gestureRecognizers) {
        [gestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
    }

应该避免的问题

Thread 1, Queue : com.apple.main-thread
#0  0x3a80cb66 in objc_msgSend ()
#1  0x32e23f9a in -[UIGestureRecognizer _delegateCanPreventGestureRecognizer:] ()
#2  0x32cce418 in -[UIGestureRecognizer _isExcludedByGesture:] ()
#3  0x32c9410e in _UIGestureRecognizerUpdate ()
#4  0x32ccd1b4 in -[UIWindow _sendGesturesForEvent:] ()
#5  0x32cccb62 in -[UIWindow sendEvent:] ()
#6  0x32ca1f58 in -[UIApplication sendEvent:] ()
#7  0x32ca0746 in _UIApplicationHandleEventQueue ()
#8  0x304e2f26 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#9  0x304e23ee in __CFRunLoopDoSources0 ()
#10 0x304e0bde in __CFRunLoopRun ()
#11 0x3044b540 in CFRunLoopRunSpecific ()
#12 0x3044b322 in CFRunLoopRunInMode ()
#13 0x351822ea in GSEventRunModal ()
#14 0x32d021e4 in UIApplicationMain ()
#15 0x000df478 in main at /path/to/main.m:17
#16 0x000df398 in start ()

self.navigationController.interactivePopGestureRecognizer.delegate = nil or
self.navigationController.interactivePopGestureRecognizer.enabled = NO
in viewWillDisappear

for (UIGestureRecognizer *gestureRecognizer in _colView.gestureRecognizers) {
        [gestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
    }


连接:

http://stackoverflow.com/questions/23261304/navigation-bar-title-bug-with-interactivepopgesturerecognizer

http://stackoverflow.com/questions/21366185/can-a-uiwebview-in-a-uinavigationcontroller-allow-the-ios-7-swipe-to-pop-built-i

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScreenEdgePanGestureRecognizer_class/index.html#//apple_ref/occ/cl/UIScreenEdgePanGestureRecognizer


类似网易新闻客户端的滑动UINavigationViewController

SliderViewController.h #import //定义镜像图片的缩放比例 #define kMirrorRate 0.98 //定义动画方向 typedef enum{    ...

如何简单的实现UINavigationViewController侧滑返回上一页功能

单手使用iPhone的时候,界面返回往往是一个比较蛋疼的事情,IOS7之后苹果推出了自带的滑动返回上一级的功能,但是这只支持屏幕左边缘拖动,也比较麻烦。QQ、微信等很多软件中界面都允许在全屏幕上滑动返...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UINavigationViewController interactivePopGestureRecognizer
举报原因:
原因补充:

(最多只允许输入30个字)