在后退按钮上推送没有标题的导航控制器

Log*_*gan 2 uinavigationcontroller uibarbuttonitem pushviewcontroller navigationbar swift

我目前有视图控制器 A 和视图控制器 B。

按下按钮时,视图控制器 A 将 vc B 推到它的 navigationController 上:

navigationController?.pushViewController(viewControllerB, animated: true)

VC A 有一个导航栏,上面有一个标题“View Controller A Title”

希望VC B 有一个左按钮,它是一个后退按钮和一个标题,“视图控制器 B 标题”

目前,当我将 VC B 推到导航控制器上时,VC A 的标题与它一起出现在左后箭头上,所以它看起来像

< View Controller A Title View Controller B Title

我如何摆脱 VC A 标题?

我试过设置左栏按钮项,后栏按钮项,但都没有成功。

我发现删除该标题的唯一方法是

navigationController?.navigationBar.items?.forEach({ $0.title = "" }) 在 VC B 的 viewDidLoad 内部,但是当我单击后退箭头时,VC A 中当然缺少标题

我为上面列出的这个解决方案找到的唯一解决方案是在 VC A 的 viewDidAppear 中设置 navigationItem.title,但是从标题实际显示大约有 1/2 秒的延迟,这并不理想。

有没有更好的方法让这个标题不与导航左栏项目一起出现?

先感谢您!

Cra*_*ens 5

在视图控制器 A 中,只需设置backBarButtonItem.

navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)
Run Code Online (Sandbox Code Playgroud)