如何删除文本,只显示导航堆栈中显示的所有视图控制器的后退箭头。
我已经知道此代码可以删除单个视图控制器上的文本:
let item = UIBarButtonItem(title: " ", style: .plain, target: nil, action: nil)
self.navigationItem.backBarButtonItem = item
但是,我正在寻找一种解决方案,我不必将代码复制并粘贴到每个单独的视图控制器中。
我已经将我的应用程序中的每个导航控制器子类化到同一个类,所以我试图找到一个我可以在这个UINavigationController子类中编写一次的解决方案,这将导致所有子视图控制器可能出现在堆栈只显示没有文字的后箭头。
答案 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)