用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)
}