iOS开发-IOS7自带返回手势问题
2013-10-20 13:23
302 查看
从iOS7的Beta版开始,就着手做兼容工作,到Beta4的時候,应用已经基本兼容,只是偶然发现,iOS样式的手势返回,也就是用interactivePopGestureRecognizer返回的时候,出现下面一些列问题。各方调研,无果,史无前例(废话,刚出来的7,上哪有例去--#)。
我的应用是自定义的返回按钮图标(默认返回按钮样式不会出现问题3),为了保险,写了这句代码[self.navigationItem setHidesBackButton:YES]。 由于自定义返回按钮,所以iOS7自带返回手势无效。在需要的页面加上navigationController.interactivePopGestureRecognizer.delegate
= self 返回手势好用了。
于是出现了第二个问题。 在一级视图中,iOS样式返回的手势滑动一下,然后进入二级视图,发现,画面卡住了,按Home键转入后台,再返回应用,发现并没有Crash掉,而是直接跳到了二级视图里,运行正常了,大家知道push和pop的原理是用进栈出栈完成的,可能因为在一级视图中滑动那一下,影响了视图在栈中的位置。 好,先解决一下这个问题,一级视图中一定要加入self.navigationController.interactivePopGestureRecognizer.enabled
= NO;,先把iOS7手势返回屏蔽掉,到二级视图再用self.navigationController.interactivePopGestureRecognizer.enabled = YES打开。就Ok了。
好,第三个问题相继出现(其实是跟第二个一起出来的)。 手势返回拖动一半,放手,navigationBar上会出现三个小蓝点,而且位置不规律,可以肯定这个不是项目代码或者图片搞出来的东西,一定是SDK自己蹦出來的。 后台尝试发现UIBarButtonItem的title如果是nil的话,就会有这个问题。 解决方案:把[self.navigationItem setHidesBackButton:YES];去掉,然後把假装成返回按钮的UIBarButtonItem的title设置成@""。
大功告成。可见设计要是不按苹果规范来的话,就会遇到各种坑啊。
我的应用是自定义的返回按钮图标(默认返回按钮样式不会出现问题3),为了保险,写了这句代码[self.navigationItem setHidesBackButton:YES]。 由于自定义返回按钮,所以iOS7自带返回手势无效。在需要的页面加上navigationController.interactivePopGestureRecognizer.delegate
= self 返回手势好用了。
于是出现了第二个问题。 在一级视图中,iOS样式返回的手势滑动一下,然后进入二级视图,发现,画面卡住了,按Home键转入后台,再返回应用,发现并没有Crash掉,而是直接跳到了二级视图里,运行正常了,大家知道push和pop的原理是用进栈出栈完成的,可能因为在一级视图中滑动那一下,影响了视图在栈中的位置。 好,先解决一下这个问题,一级视图中一定要加入self.navigationController.interactivePopGestureRecognizer.enabled
= NO;,先把iOS7手势返回屏蔽掉,到二级视图再用self.navigationController.interactivePopGestureRecognizer.enabled = YES打开。就Ok了。
好,第三个问题相继出现(其实是跟第二个一起出来的)。 手势返回拖动一半,放手,navigationBar上会出现三个小蓝点,而且位置不规律,可以肯定这个不是项目代码或者图片搞出来的东西,一定是SDK自己蹦出來的。 后台尝试发现UIBarButtonItem的title如果是nil的话,就会有这个问题。 解决方案:把[self.navigationItem setHidesBackButton:YES];去掉,然後把假装成返回按钮的UIBarButtonItem的title设置成@""。
大功告成。可见设计要是不按苹果规范来的话,就会遇到各种坑啊。
相关文章推荐
- iOS开发之禁用ios7 手势滑动返回功能
- iOS开发--开启iOS7向左滑动手势返回功能
- iOS 开发 右滑手势返回及UIScrollView偏移问题
- iOS开发-iOS7禁用手势返回
- ios开发-调用系统自带手势
- iOS开发程序中各种变量的存储位置和程序返回变量的问题
- ios 开发日记17-单击手势和双击手势共存问题
- iOS开发 取消当前页面侧滑返回手势 监听当前页面的侧滑返回操作
- 微信公众号开发,ios系统自带返回按钮,不刷新页面
- iOS应用程序开发——解决iOS7之前版本与之后版本下app启动图片跳动问题
- ww的笔记-iOS之仿iOS7自带导航的pop手势,iOS7以下也能用的类
- iOS系统自带右滑手势返回上一级界面
- iOS开发经验--ios右滑返回时候与scrollview滑动冲突的问题
- iOS开发:过滤网络请求中,服务器返回空值null数据的处理(过滤null显示问题)
- iOS6和iOS7环境下微信登录未显示问题&微信IOS的SDK:isWXAppInstalled总是返回NO和nil
- iOS 开启ios7自带的滑动左侧返回上一级
- IOS 7 手势滑动返回的问题
- 【iOS开发】---- iOS7适配问题
- iOS项目开发中,对后台返回数据为<null>时候的处理,避免取值产生程序崩溃问题
- 关于系统(ios7+)自带的向右滑动手势返回上一个界面的一个问题