我正在尝试在我的主页和另一个故事板上使用带有不同preferlargetitles
布尔值的导航控制器。当我开始仿真时,它以大标题true
落在主页上。然后,我点击一个集合视图单元格以查看pdf,并将该视图控制器的大标题设置为false(或者,我相信)。当我将导航控制器上的后退按钮按到主页上时,大标题现在设置为false。
我尝试在collectionview
viewDidLoad
中将大标题设置为true,但是什么也没有。
转到pdf视图控制器的主页代码:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let selectedRow = indexPath.row
if selectedRow == 0 {
print("add button selected")
return
}
else {
let document = Data.documentModel[selectedRow - 1]
let storyboard = UIStoryboard(name: String(describing: NoteTakingViewController.self), bundle: nil)
let vc = storyboard.instantiateInitialViewController() as! NoteTakingViewController
vc.document = document
//self.present(vc, animated: true, completion: nil)
self.show(vc, sender: selectedRow)
}
从主页上点击文件后pdf视图控制器内部的代码:
override func viewDidLoad() {
super.viewDidLoad()
....(to view the pdf code went here)
self.title = document.title
navigationController?.navigationBar.prefersLargeTitles = false
// Do any additional setup after loading the view.
}
当我进入情节提要时,我会得到一个小标题,但它会转到主页。
答案 0 :(得分:2)
在情节提要的导航栏中,未选中“大标题”。
在View Controller中,您必须使用大标题:
self.navigationController?.navigationBar.prefersLargeTitles = true
答案 1 :(得分:0)
在主视图控制器中编写此行代码,这样您每次访问该视图控制器时,标题将设置为大,现在您可以从viewdidLoad中删除
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated) // No need for semicolon
navigationController?.navigationBar.prefersLargeTitles = true
}