iOS全局返回按钮定制问题解决方案
来源:互联网 发布:python电影推荐系统 编辑:程序博客网 时间:2024/05/22 01:27
在iOS开发中,对于定制返回按钮,相信很多人遇到过,其方法也是很多,这篇文章记录下我的解决办法。
去掉文字类型,只显示”>”
这个方法是网上找来的,使用runtime完成。实现方式特别巧妙,对在某个子VC中单独设置返回按钮不会影响。创建一个UINavigationItem的category,名为CustomBackButton,具体实现如下:
static char kCustomBackButtonKey;
@implementation UINavigationItem (CustomBackButton)
+ (void)load {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Method originalMethodImp = class_getInstanceMethod(self, @selector(backBarButtonItem));
Method destMethodImp = class_getInstanceMethod(self, @selector(myCustomBackButton_backBarbuttonItem));
method_exchangeImplementations(originalMethodImp, destMethodImp);
});
}
- (UIBarButtonItem *)myCustomBackButton_backBarbuttonItem {
UIBarButtonItem *item = [self myCustomBackButton_backBarbuttonItem];
if (item) {
return item;
}
item = objc_getAssociatedObject(self, &kCustomBackButtonKey);
if (!item) {
item = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleBordered target:nil action:nil];
item.tintColor = [UIColor blackColor];
}
return item;
}
如果只是显示“>”的话,使用runtime覆写backBarButtonItem方法就足够了。
加图片的返回按钮
但是很多情况下这样的返回按钮会显示的太粗,一般用一张图片来替代。需要注意的是,对图片的要求很高,不要过大,负责会显示错乱。实现代码是:
//设置返回样式图片
UIImage *image = [UIImage imageNamed:@"preview_back_black"];
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
navigationBar.backIndicatorImage = image;
navigationBar.backIndicatorTransitionMaskImage = image;
图片@3x的大小是90*90即可,具体就不给图片了。
文章来源:Hyyy's blog
- iOS全局返回按钮定制问题解决方案
- IOS中导航的返回按钮定制
- iOS导航栏返回按钮(全局)
- iOS---自定义返回按钮 (全局设置)
- iOS设置自定义全局返回按钮
- iOS 使用使用Swizzling 全局修改Navigation的返回按钮
- iOS全局改变导航栏的返回按钮
- ios全局返回按钮和全屏侧滑功能
- iOS系统右滑返回全局控制方案
- iOS系统右滑返回全局控制方案
- iOS开发中按钮多次响应问题解决方案
- 关于IOS设备,按钮样式显示的问题解决方案。
- ios定制按钮图片
- 定制iOS 7中的导航栏和状态栏(主要是自定义的返回按钮)
- iOS自定制导航栏返回按钮或者隐藏导航栏pop手势失效解决方案
- 定制导航栏的返回按钮
- 定制导航栏的返回按钮
- 定制导航栏的返回按钮
- Oracle视图view
- Ubuntu学习笔记一
- POJ - 2584(二分匹配入门)
- codeforces723AThe New Year: Meeting Friends+水题
- 矩阵快速幂入门 + 求Fibonacci数列
- iOS全局返回按钮定制问题解决方案
- 操作系统(8)--并发性学习笔记
- mysql使用问题
- codeforces#375(div.2)723D - Lakes in Berland dfs+bfs
- 利用mathematica制作二维码
- Linux洗C语言基础编程——折半查找法
- poj 2096 Collecting Bugs【概率dp 逆向求期望】
- gps坐标离线转百度坐标
- 大学文化对当代大学生的影响