'hideUISearchBarWhenScrolling'-属性 不作为 属性 使用 tableView

'hideUISearchBarWhenScrolling'-Property not working with tableView as property

我尝试了新的 Swift4/iOS11 可能性并遇到了 hideSearchBarWhenScrolling 无法将 tableView 作为 UIViewController 中的 属性 使用的问题。

在 UITableViewController 中,它正常工作。

我做错了什么?有人发布了同样的问题并且对此有解决方案吗?

class AddController: UIViewController {

    let tableView: UITableView = {
        let tv = UITableView()
        tv.translatesAutoresizingMaskIntoConstraints = false
        return tv
    }()
    let searchController = UISearchController(searchResultsController: nil)

    override func viewDidLoad() {
        navigationItem.title = "Heading"
        navigationItem.searchController = searchController
        navigationController?.navigationBar.prefersLargeTitles = true
    }

    override func viewWillLayoutSubviews() {
        view.addSubview(tableView)

        NSLayoutConstraint.activate([
            tableView.leftAnchor.constraint(equalTo: view.leftAnchor),
            tableView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
            tableView.rightAnchor.constraint(equalTo: view.rightAnchor),
            tableView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
        ])
    }
}

谢谢

这样使用:

navigationItem.hidesSearchBarWhenScrolling