prefersLargeTitles不适用于程序化布局

Iva*_*nin 6 xcode ios swift swift4 ios11

我正在尝试以编程方式添加表视图,但大型标题不显示.

这是我的代码:

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)
    ])
}
Run Code Online (Sandbox Code Playgroud)

注意:视图控制器中启用了大型标题

if #available(iOS 11.0, *) {
    navigationController?.navigationBar.prefersLargeTitles = true
    navigationItem.largeTitleDisplayMode = .always
}
Run Code Online (Sandbox Code Playgroud)

也许这很重要:我正在尝试添加一个表作为子视图控制器.我的子控制器是一个UITableViewController.如果我在viewDidLoad()大型标题节目中添加子视图但不滚动.

这是我正在添加我的子模块的文件链接.详细代码,你可以在问题或见这里addChild(module:)方法.

请告诉我如何解决这个问题.

Raf*_*fAl 1

viewDidLoad在您配置表视图的视图控制器的方法中启用大标题。

if #available(iOS 11, *) {
    self.navigationController?.navigationBar.prefersLargeTitles = true
}
Run Code Online (Sandbox Code Playgroud)