我在导航控制器中有两个视图控制器。根视图控制器有小标题,下一个视图控制器有大标题。
当我推动下一个视图控制器时,我设置
self.navigationItem.largeTitleDisplayMode = .always
在下一个视图控制器的 viewDidLoad 中。问题是,在转换时,它会暂时显示标题很小,然后标题变大。但我只想显示大标题。我尝试在 ViewDidAppear 中设置标题文本,它有点工作,但标题出现较晚。我也不想要那个。
我在导航控制器中有两个视图控制器。根视图控制器有小标题,下一个视图控制器有大标题。
当我推动下一个视图控制器时,我设置
self.navigationItem.largeTitleDisplayMode = .always
在下一个视图控制器的 viewDidLoad 中。问题是,在转换时,它会暂时显示标题很小,然后标题变大。但我只想显示大标题。我尝试在 ViewDidAppear 中设置标题文本,它有点工作,但标题出现较晚。我也不想要那个。
有同样的问题,我这样做了:
在 VC 1 中:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationItem.largeTitleDisplayMode = .never
}
在 VC 2 中:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationItem.largeTitleDisplayMode = .always
navigationController?.navigationBar.prefersLargeTitles = true
}
假设你在 vc1 中做这样的事情
let vc2 = SomeVC()
vc2.navigationItem.largeTitleDisplayMode = .always
self.navigationController.pushViewController(vc2, animated: true)
所以尝试在推送视图控制器之前设置属性