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以上了,不过可能就是会遇到原生功能处理不了的情况。在这种情况下,就只能自己写了,这也是没办法的事。不过如果对这方面的要求不是那么苛刻的话,或者是想自己研究加深对这东西的认识的话。系统自带的基本就够用了,自己写不过是自找麻烦而已。
网友评论