ios7导航栏返回按钮的一些问题总结
来源:互联网 发布:linux zip压缩文件夹 编辑:程序博客网 时间:2024/06/02 01:13
iOS 7中在传统的左上角返回键之外,提供了右滑返回上一级界面的手势。
也就是说,我可以不仅仅通过back返回键,回到push前页面.还可以通过向右滑的手势来完成这样的操作.
UINavigationController中新增的属性:
@property(nullable,nonatomic, weak)id<UINavigationControllerDelegate> delegate;@property(nullable,nonatomic, readonly)UIGestureRecognizer *interactivePopGestureRecognizer
interactivePopGestureRecognizer,即右滑返回只支持以UINavigationController为容器的ViewController间切换,要想在自定义容器中使用,需要一些额外的工作。
围绕在手势方面有一下几个问题:
1>如何禁止某个返回页面的滑动手势触发
- (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:YES]; self.navigationController.interactivePopGestureRecognizer.enabled = YES;}- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:YES]; self.navigationController.interactivePopGestureRecognizer.enabled = NO;}
注意:self.navigationController.interactivePopGestureRecognizer.enabled = NO;这句一定要放在viewDidAppear而不是viewWillAppear里。
2>如何让滑动手势触发失效
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = NO; }
3> 如何设置自定义的返回按钮图片?
如果我们的返回按钮不需要显示文字,或者显示的文字是固定的,可以做到图片中去,那么我推荐通过设置 iOS 7 新引入的 backIndicatorImage 来自定义返回按钮。代码如下:
UIImage *image = [UIImage imageNamed:@"nav_back_btn"];[UINavigationBar appearance].backIndicatorImage = image;[UINavigationBar appearance].backIndicatorTransitionMaskImage = image;
这样设置后会发现图片被渲染成 navigationBar 的 tintColor 的颜色了,要怎样才能显示出原始的图片颜色呢?还需要用到 iOS 7 中 UIImage 的一个新属性 renderingMode。 我们需要生成一张 renderingMode 为 UIImageRenderingModeAlwaysOriginal 的图片,让我们加上这行代码:
UIImage *image = [UIImage imageNamed:@"nav_back_btn"];image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];[UINavigationBar appearance].backIndicatorImage = image;[UINavigationBar appearance].backIndicatorTransitionMaskImage = image;
这样我们的图片就能显示出原始的颜色了。
4>自定义导航栏后侧滑返回功能失效
没有发现更好的解释,但可以参考 http://www.jianshu.com/p/349636eb3fca
- ios7导航栏返回按钮的一些问题总结
- 自定义iOS7导航栏返回按钮文字
- iOS7以后导航栏按钮颜色问题
- IOS开发 IOS7中使用图片作为导航栏返回按钮的背景
- 自定义的iOS7导航栏背景,标题和返回按钮文字颜色
- iOS7导航控制器自定义返回按钮
- IOS7怎么修改Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色
- IOS7怎么修改Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色
- IOS7怎么修改Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色
- 自定义返回按钮时,iOS7手势返回遇到的问题
- 自定义返回按钮时,iOS7手势返回遇到的问题
- 关于更改导航栏左侧返回按钮名称的问题
- ios7以上,导航栏的按钮会出现向中间偏移问题的解决方法
- 解决ios7.0 以后自定义导航栏左边按钮靠右的问题
- 解决 ios7.0 以后自定义导航栏左边按钮靠右的问题
- 导航栏按钮返回
- iOS7导航栏遮盖问题的解决
- IOS7之后的导航栏遮盖问题
- 欢迎使用CSDN-markdown编辑器
- 有序&无序广播++创建广播的全过程记录
- Autodesk 应用程序商店发布活动第二季开始了!
- 【游戏客户端开发】 IOS开发——Swift基础篇1
- 蓝桥杯 历届试题 剪格子(记忆化搜索)
- ios7导航栏返回按钮的一些问题总结
- 0109内容提供者
- 蓝桥杯_算法训练_字串统计(用HashMap实现)
- 使用指针在内存中写入数据被立即改变——整型元素和数组元素的不同内存分配
- 多媒体编程
- Mac OS X 开启Http Ftp服务
- HashMap的容量与扩容
- 获取系统联系人信息
- 异常的补充