前言:例如我们有两个控制器A和B, 从A界面调转到B界面(iOS7--系统自带的向右滑动手势返回上一个界面), 也就是我们在B接面的最左测有个边缘手势, 通过滑动可以返回到A界面;
1.关闭导航手势的实例:
例如我们A界面的导航条隐藏, 调转到B界面,B界面的导航条不隐藏, 这事我们在B界面的左边缘滑动B界面,不要让它回到A界面(滑动不超过屏幕宽度的1/2), 这时你会发现B界面的导航条消失.
2.解决上述问题的方案:
1.首先我们看一下手势在文档中的定义:
@property(nullable, nonatomic, readonly) UIGestureRecognizer *interactivePopGestureRecognizer NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
2.我们再看看UIGestureRecognizer在文档中的定义
@interface UIGestureRecognizer : NSObject
@property(nonatomic, getter=isEnabled) BOOL enabled; // default is YES. disabled gesture recognizers will not receive touches. when changed to NO the gesture recognizer will be cancelled if it's currently recognizing a gesture
3.看完之后我会发现:
默认状态下有边缘手势的
所以我们应该在B控制中这样写:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
总结:问题解决分享给大家希望给有需要的人帮助!