iOS 7 uinavigationcontroller 如何检测滑动?

人气:388 发布:2022-10-16 标签: iphone ios uigesturerecognizer ios7 uinavigationcontroller

问题描述

在新的 iOS 7 UINavigationController 中,有一个滑动手势可以在视图之间切换.有没有办法检测或拦截手势?

In the new iOS 7 UINavigationController, there is a swipe gesture to switch between views. Is there a way to detect or intercept the gesture?

推荐答案

交互式弹出手势识别器通过 UINavigationControllerinteractivePopGestureRecognizer 属性公开.您可以添加自己的控制器作为手势识别器的目标并做出适当的响应:

The interactive pop gesture recognizer is exposed through UINavigationController's interactivePopGestureRecognizer property. You can add your own controller as a target of the gesture recognizer and respond appropriately:

@implementation MyViewController

...

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.navigationController.interactivePopGestureRecognizer addTarget:self 
                                                                  action:@selector(handlePopGesture:)];
}


- (void)handlePopGesture:(UIGestureRecognizer *)gesture
{
    if (gesture.state == UIGestureRecognizerStateBegan)
    {
        // respond to beginning of pop gesture
    }
    // handle other gesture states, if desired
}

...

@end

285