在Interface Builder中,我创建了一个视图,作为Storyboard的一部分,过去只在一个不同的上下文中显示(作为UITabBarController的视图)。
现在我想将此视图重用为UINavigationController视图的一部分,但这通常可以正常工作。唯一的问题是在IB中,我将一个按钮设置为leftBarButtonItem。因此,当我在导航控制器的堆栈上推送相同的视图控制器时,它将不再自动放置backBarButtonItem。
对于如何处理这种情况,是否存在标准方法?我是否必须自己删除按钮,具体取决于viewcontroller是否是UITabBarController或UINavigationController的一部分?我想在IB中保留按钮。因此,在viewDidDisappear上将leftBarButtonItem设置为nil,例如只有一些帮助。这确实显示了backBarButtonItem,但是当用户返回到该屏幕时,我将不得不再次手动设置leftBarButtonItem。
答案 0 :(得分:5)
然后尝试使用:
self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem;