如何用backBarButtonItem替换leftBarButtonItem

Den*_*nis 1 uinavigationcontroller ios

在Interface Builder中,我创建了一个视图,作为Storyboard的一部分,过去只在一个不同的上下文中显示(作为UITabBarController的视图).

现在我想重用此视图作为UINavigationController视图的一部分,但通常可以正常工作.唯一的问题是在IB中,我将一个按钮设置为leftBarButtonItem.因此,当我在导航控制器的堆栈上推送相同的视图Controller时,它将不再自动放置backBarButtonItem.

有没有一种标准的方法来处理这种情况?我是否必须自己删除按钮,具体取决于viewcontroller是否是UITabBarController或UINavigationController的一部分?我想在IB中保留按钮.因此,在viewDidDisappear上将leftBarButtonItem设置为nil,例如只有一些帮助.这确实正确地显示了backBarButtonItem,但是当用户返回到该屏幕时,我将不得不再次手动设置leftBarButtonItem.

Sha*_*anu 5

然后尝试使用:

self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem;
Run Code Online (Sandbox Code Playgroud)