2017-09-25 6 views
0

新しいSwift4/iOS11の可能性を抱いて、hideSearchBarWhenScrollingがUIViewControllerのプロパティとしてtableViewで動作しないという問題が発生しました。'hideUISearchBarWhenScrolling'-プロパティがtableViewとプロパティとして動作しない

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) 
     ]) 
    } 
} 

おかげ

答えて

1

用途:デフォルトはtrueをhidesSearchBarWhenScrolling

navigationItem.hidesSearchBarWhenScrolling 
+0

。それを設定せずに動作するはずです。 – eberhapa

+0

'view.addSubview(tableView)'これを 'viewDidLoad'に追加してください –

+0

それはトリックでした。理由を説明できますか? – eberhapa

関連する問題