IOS 关于隐藏导航默认返回文字的一些见解

项目中使用了全局设置的方式给导航设置了默认返回的图片,代码如下

UINavigationBar.appearance().setBackgroundImage(UIImage.imageWithColor(UIColor.white), for: .default) 
UINavigationBar.appearance().backIndicatorImage = backImage

这时候利用 UINavigationController push到下一个页面时,导航上默认带有设置的返回icon 和 文字(上一个页面的title)。使用这个方法可以隐藏掉默认的文字:

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), for: .default)

但是由于ViewController的父VC也是带有title的这就导致了当前显示的vc title 布局中的问题。即子页面标题和返回按钮依然有父页面标题的长度。
可以使用下面的这种方法:

if self.navigationController != nil {
        let backItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
        self.navigationItem.backBarButtonItem = backItem
}

在父VC中添加如下代码即可避免上面的那个问题。
注:使用的是swfit代码,OC代码还需自己查找。

你可能感兴趣的:(IOS 关于隐藏导航默认返回文字的一些见解)