本文实例为大家分享了iOS push侧滑返回功能的具体代码,供大家参考,具体内容如下
开启iOS自带的push的侧滑返回功能(只有左侧边缘地带响应侧滑返回,并不是全局响应):
1
2
3
4
5
6
7
8
|
- ( void )viewWillAppear:( BOOL )animated
{
[super viewWillAppear:animated];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
[self.navigationController.interactivePopGestureRecognizer setEnabled:YES];
self.navigationController.interactivePopGestureRecognizer.delegate = self;
}
}
|
为防止导航控制器在根视图时触发手势
1
2
3
4
5
6
7
|
- ( BOOL )gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
if (self.childViewControllers.count == 1) {
return NO;
} else {
return YES;
}
}
|
这样 在根视图侧滑返回操作,然后出发push会没有效果,界面会卡住;代码已经push到下一个VC,但界面还停留在根视图。
解决方法是在根视图添加如下代码:
1
2
3
4
5
6
|
-( void )viewDidAppear:( BOOL )animated{
[super viewDidAppear:animated];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/y295612743/article/details/76066736