ios7--系统自带的向右滑动手势返回上一个界面
2015-11-27 17:36
597 查看
当从控制器A push到控制器B,我们返回控制器A,除了使用按钮返回
还可以使用ios7出来的向右滑动,返回控制器A
文档中是这样定义的:
----------------------------------------------------------------------
我们在控制器B中的viewDidLoad中
但是当回到控制器A中时,再想push到控制器B,就会出现卡屏,不会动的现象,因为rootView也会有向右滑动返回的问题
要解决这个问题,我们只需在控制器A的viewDidAppear中设置,interactivePopGestureRecognizer为NO:
这样即可以保证再B中向右滑返回A动后再次pushB时不会卡在A界面。
[self.navigationController pushViewController:Vc animated:YES];
还可以使用ios7出来的向右滑动,返回控制器A
文档中是这样定义的:
@property(nullable, nonatomic, weak) id<UINavigationControllerDelegate> delegate; @property(nullable, nonatomic, readonly) UIGestureRecognizer *interactivePopGestureRecognizer NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
----------------------------------------------------------------------
我们在控制器B中的viewDidLoad中
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { self.navigationController.interactivePopGestureRecognizer.enabled = YES; // 手势有效设置为YES 无效为NO self.navigationController.interactivePopGestureRecognizer.delegate = self; // 手势的代理设置为self }
但是当回到控制器A中时,再想push到控制器B,就会出现卡屏,不会动的现象,因为rootView也会有向右滑动返回的问题
要解决这个问题,我们只需在控制器A的viewDidAppear中设置,interactivePopGestureRecognizer为NO:
-(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { self.navigationController.interactivePopGestureRecognizer.enabled = NO; } }
这样即可以保证再B中向右滑返回A动后再次pushB时不会卡在A界面。
相关文章推荐
- iOS开发者一定要了解的那些事
- iOS开发-进阶:使用SOAP访问Web服务
- iOS图片拉伸技巧
- ios推送
- iOS 有关界面设计规范的一些总结
- iOS有三种多线程编程的技术
- IOS开发几何类方法 CGGeometry.h文件
- IOS零碎
- XCTest
- iOS-沙盒路径总结、文件管理NSFileManager总结
- Nagios and NSCA installation
- IOS消息推送。
- 利用BIOS INT 0x13读取软盘
- iOS NSNotification 通知传值
- iOS开发之详解正则表达式
- iOS学习之TableView02带Header
- IOS label导入带html标签文字,并且可以改变字体大小
- ios入门之界面跳转和数据传递
- 登陆页面跳转到带TabbarControl的首页
- IOS开发中联系人字母排序