前言
我之前有写过一个关于全局设置导航栏返回按钮的文章,在这里。通过类别的方式,直接导入文件即可生效。但是有几点不便之处:一是没有暴露接口去设置返回按钮的样式,默认样式直接写在类的方法实现中;二是没有使用 cocoapods 管理,不符合工具类组件化管理的原则。因此做了二次修改。
使用
直接使用 pod 导入
pod 'MERNavigationBackItem'
默认返回按钮文字为 “返回”,也可以通过 appearance 修改全局返回按钮文字或样式
#import <MERNavigationBackItem/MERNavigationBackItem.h>
@implementation MERAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[UINavigationBar appearance].mer_globalBackBarButtonTitle = @"测试";
//或者返回自定义 UIBarButtonItem
//[UINavigationBar appearance].mer_globalBackBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"backImage"] style:UIBarButtonItemStylePlain target:nil action:NULL];
// Override point for customization after application launch.
return YES;
}
设置文字为 " " 空格字符串即可隐藏返回按钮文字,只保留返回箭头(自己的项目中是这样使用的)。
因为设置的是默认样式,如果为单一页面定制返回按钮则默认样式不会生效。
适用 iOS 11 及以下系统。
结束
因为是二次修改,实现思路可以参照前一篇文章,这里就不多赘述了。
github 在这里。