2016-04-17 20 views
1

以前のバージョンのStoryboard(ストーリーボードに基づいています)では、検索バーがうまく機能していました。 100%プログラムで定義された最新バージョン(すべてのストーリーボード参照を削除しました)では、検索バーが消えました。 問題がどこにあるのかを理解しようとしていますが、成功することはありません。何か案が?ここでSwiftのUITableViewヘッダーにUISearchControllerをプログラムで追加します。

は、障害のあるコードスニペットです:

let resultSearchController = UISearchController() 

override public func viewDidLoad() { 
    super.viewDidLoad() 

    // No nav bar 
    navigationController?.navigationBar.hidden = true 

    // — Add table view 
    view.addSubview(tableView) 
    tableView.delegate = self 
    tableView.dataSource = self 
    tableView.translatesAutoresizingMaskIntoConstraints = false 
    tableView.leftAnchor.constraintEqualToAnchor(view.leftAnchor, constant: 0).active = true 
    tableView.rightAnchor.constraintEqualToAnchor(view.rightAnchor, constant: 0).active = true 
    tableView.bottomAnchor.constraintEqualToAnchor(view.bottomAnchor, constant: 0).active = true 


    // Add search bar as a the table header 

    resultSearchController.dimsBackgroundDuringPresentation = false 
    resultSearchController.definesPresentationContext = true 
    resultSearchController.hidesNavigationBarDuringPresentation = false 

    resultSearchController.searchResultsUpdater = self 
    resultSearchController.searchBar.sizeToFit() 
    resultSearchController.searchBar.delegate = self 
    tableView.tableHeaderView = resultSearchController.searchBar 

    /// Add refresh control 
    refreshControl.attributedTitle = NSAttributedString(string: "Pull to refresh") 
    refreshControl.addTarget(self, action: #selector(BigHeadViewController.refreshTable), forControlEvents: UIControlEvents.ValueChanged) 
    tableView.addSubview(refreshControl) 
} 

答えて

0

私はこの問題は、最初の行かもしれないと思います。初期化の一部として "searchResultsController"を指定する必要があります。試してみてください

let resultSearchController = UISearchController(searchResultsController:nil) 
関連する問題