iOS 全局设置系统导航栏返回按钮样式

1,234 阅读1分钟

前言


我之前有写过一个关于全局设置导航栏返回按钮的文章,在这里。通过类别的方式,直接导入文件即可生效。但是有几点不便之处:一是没有暴露接口去设置返回按钮的样式,默认样式直接写在类的方法实现中;二是没有使用 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 在这里