如何摆脱Swift导航后退按钮旁边的文字?

时间:2017-11-14 00:43:49

标签: ios swift

如何删除文本,只显示导航堆栈中显示的所有视图控制器的后退箭头。

我已经知道此代码可以删除单个视图控制器上的文本:

let item = UIBarButtonItem(title: " ", style: .plain, target: nil, action: nil)
self.navigationItem.backBarButtonItem = item

但是,我正在寻找一种解决方案,我不必将代码复制并粘贴到每个单独的视图控制器中。

我已经将我的应用程序中的每个导航控制器子类化到同一个类,所以我试图找到一个我可以在这个UINavigationController子类中编写一次的解决方案,这将导致所有子视图控制器可能出现在堆栈只显示没有文字的后箭头。

2 个答案:

答案 0 :(得分:0)

如何实现UINavigationControllerDelegate:

func navigationController(navigationController: UINavigationController, willShowViewController viewController: UIViewController, animated: Bool) {
let item = UIBarButtonItem(title: " ", style: .Plain, target: nil, action: nil)
viewController.navigationItem.backBarButtonItem = item
}

backBarButtonItem默认为nil,它会影响下一个推送的控制器,所以你只需为所有控制器设置它

答案 1 :(得分:0)

在您的情况下,更好的选择是选择控制器的导航项并在后退按钮选项中添加空格。见下图供参考:

enter image description here

您不必在此方案中编写任何代码。