统一修改UINavigationController的默认返回按钮

用UINavigationController来push视图控制器后默认的返回按钮是蓝色返回图标和上一个页面的标题:


现在我要拿到这个按钮并自定义一下,效果是只要返回图标并设置成灰色


思路:设置导航栏tintColor,然后将文字label偏移到屏幕之外,只要拿到这个按钮其实想怎么定义都行
建立一个类继承自UINavigationController,在里面重写initialize方法就ok了

override class func initialize() {
        let bar = UINavigationBar.appearanceWhenContainedInInstancesOfClasses([self])
//设置镂空颜色
        bar.tintColor = UIColor(red: 0.47, green: 0.47, blue: 0.47, alpha: 1)
//拿到按钮
        let item = UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([self])
//设置label偏移量
        item.setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -1000), forBarMetrics: UIBarMetrics.Default)
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容