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

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


统一修改UINavigationController的默认返回按钮_第1张图片

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


统一修改UINavigationController的默认返回按钮_第2张图片

思路:设置导航栏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)
    }

你可能感兴趣的:(统一修改UINavigationController的默认返回按钮)