2016-05-19 4 views
0

segueを実行すると、tableHeaderViewから検索バーを非表示にしたいと考えています。これどうやってするの?次のように私は、検索バーを作成します。別のビューに分割するときにUISearchControllerを非表示にする

override func viewDidLoad() { 
    ... 
    resultSearchController = ({ 
     let searchController = UISearchController(searchResultsController: nil)  // The results of the search will be presented in the current Table View, so the searchResultsController parameter of the UISearchController init method is set to nil. 

     searchController.delegate = self   
     searchController.searchBar.delegate = self   // Without this selectedScopeButtonIndexDidChange won't get called. 
     searchController.searchResultsUpdater = self 
     searchController.hidesNavigationBarDuringPresentation = true // NOTE: if false and tapping on a reminder to go the its details and then back then the titles may be screwed up. 
     searchController.dimsBackgroundDuringPresentation = false  // NOTE: If true it would result in the filtered list not being scrollable. 
     searchController.hidesBottomBarWhenPushed = true 
     searchController.searchBar.sizeToFit() 
     self.definesPresentationContext = false  

     searchController.searchBar.scopeButtonTitles = SCOPEBAR_OPTIONS.descriptionArray 
     tableView.tableHeaderView = searchController.searchBar 
     return searchController 
    })() 

私は単純に、このようなゼロに設定しようとしたが、運:メソッド

の下
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
    searchController.active = NO; 
} 

答えて

1

viewDidLoad()では、その目的のために次の行を追加できます。

definesPresentationContext = true 
0

をsearchcontroller使用を却下するには

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
    tableView.tableHeaderView = nil 
    ... 
} 
0

最後に、どのような(スウィフト4)私のためを働いた:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     print("prepare for segue") 
     searchController.isActive = false 
    } 

方法definesPresentationContextviewDidLoad()で、どちらも私のためを動作しませんでした:

definesPresentationContext = true 

も:

searchController.definesPresentationContext = true 

nor:

self.definesPresentationContext = true 
関連する問題