IOS 小常识--1.系统自带的右滑返回

IOS 小常识

1:系统自带的右滑返回(ios 7.0 版本以上有效)

系统的右滑返回功能其实是系统自带的功能,在不自定义的导航条返回按钮的时候。如果想自定义返回按钮,还想要保留这个功能的话。很简单,只要一行代码就可以搞定:

//令自身右滑返回

sender.navigationController.interactivePopGestureRecognizer.delegate = (id)sender;

易错点:

1.有的朋友看了上面的东西之后,直接就写了代码进工程,一切正常。结果在根视图上乱划掉时候,卡死……。

原因:都根视图了你还划个啥?

解决方法:同样一句代码搞定 self.navigationController.interactivePopGestureRecognizer.enabled = NO;

小提示:此属性使用时,不用在每个自定义的子视图中都这样写,在根视图上这样写就行了。否则每个页面都加的话,看着就胃疼。建议写在方法- (void)viewDidAppear:(BOOL)animated;与- (void)viewDidDisappear:(BOOL)animated;中。

例子:在一个tabbar页面中有3个带导航条的子视图,每个子视图要转换的页面的返回按钮都需要自定义。那么,只要把下面这些代码拖进工程相应根视图的页面就行。

- (void)viewDidDisappear:(BOOL)animated{

[super viewDidDisappear:animated];

self.navigationController.interactivePopGestureRecognizer.enabled = YES;

//令自身右滑返回

self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;

}

- (void)viewDidAppear:(BOOL)animated{

[super viewDidAppear:animated];

self.navigationController.interactivePopGestureRecognizer.enabled = NO;

}

结尾语:现在基本上都i7以上了,不过可能就是会遇到原生功能处理不了的情况。在这种情况下,就只能自己写了,这也是没办法的事。不过如果对这方面的要求不是那么苛刻的话,或者是想自己研究加深对这东西的认识的话。系统自带的基本就够用了,自己写不过是自找麻烦而已。

你可能感兴趣的:(IOS 小常识--1.系统自带的右滑返回)