我正在尝试以编程方式添加表格视图,但不显示大型标题。
这是我的代码:
self.view.addSubview(module.tableView)
module.view.translatesAutoresizingMaskIntoConstraints = false
if #available(iOS 11.0, *) {
NSLayoutConstraint.activate([
module.view.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 0),
module.view.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor, constant: 0),
module.view.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor, constant: 0),
module.view.trailingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.trailingAnchor, constant: 0)
])
}
注意:视图控制器中启用了大型标题
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = true
navigationItem.largeTitleDisplayMode = .always
}
也许这很重要:我正在尝试添加一个表作为子视图控制器。我的子控制器是一个UITableViewController。如果我在viewDidLoad()
大型标题节目中添加子视图但不滚动。
这是link to file,我正在添加我的子模块。您可以在addChild(module:)
方法中查看有问题的详细代码或here。
请告诉我如何修复此错误。
答案 0 :(得分:1)
在配置表格视图的视图控制器的viewDidLoad
方法中启用大型标题。
if #available(iOS 11, *) {
self.navigationController?.navigationBar.prefersLargeTitles = true
}
答案 1 :(得分:1)
我正在使用程序化布局,遇到了类似的问题。我在这里找到了解决方案:https://stackoverflow.com/a/46692583/131378。在viewDidLoad()
中,我不得不重新打开largeTitleDisplayMode
。这是正确的组合,可以使大标题与滚动一起工作:
self.navigationItem.largeTitleDisplayMode = .never
self.navigationItem.largeTitleDisplayMode = .always
答案 2 :(得分:0)
将您的iOS Deployment Target
更新为11.0
或更高版本。目前,它位于10.3
。这就是为什么你没有看到大型游戏的原因。
答案 3 :(得分:0)
答案 4 :(得分:0)