2017-09-15 8 views
0

iPhone Xをサポートするようにアプリケーションをアップグレードするテーブルバーの見出しに検索バーを追加してセーフゾーン内に置くにはどうすればよいですか?ここに、現在検索バーを構築する方法があります。iphone x:セーフゾーン内で検索バーを維持する

let searchController = UISearchController(searchResultsController: nil) 
func buildSearchBar() { 
    self.searchController.searchResultsUpdater = self 
    self.searchController.hidesNavigationBarDuringPresentation = false 
    self.searchController.dimsBackgroundDuringPresentation = false 
    self.searchController.searchBar.sizeToFit() 
    self.tableView.tableHeaderView = searchController.searchBar 

    self.definesPresentationContext = true 
} 

答えて

1

「セーフゾーン内」とは何を意味するのか不明です。テーブルビューはスクロールできるので、検索バーは必ずしも画面のどの部分にも表示されません。それはセンサ領域の背後およびそれ以上にスクロールアップすることができる。

しかし、ネイティブアプリでは、検索バーを表のヘッダーとして配置しないことに気づくでしょう。彼らはナビゲーションバーに入れました。同じことをする必要があります。 searchControllernavigationItemに設定して、検索バーをナビゲーションバーに置きます。

1

このトピックは、Building Apps for iPhone Xビデオで明示的に説明されています。でも、ナビゲーションコントローラが存在しない場合に、presentは-ingを

let searchController = UISearchController(searchResultsController: nil) 
searchController.searchResultsUpdater = self 
searchController.obscuresBackgroundDuringPresentation = false 

if #available(iOS 11, *) { 
    navigationItem.searchController = searchController 
    searchController.isActive = true 
} else { 
    present(searchController, animated: true) 
} 

(ちなみに:(。Designing for iPhone Xも良いビデオ)

ボトムラインは、Appleはナビゲーションコントローラを使用して、そこにそれを示す示唆します検索コントローラーをテーブルヘッダーに設定するのではなく、スクロールして安全な領域から出ないようにすることができます)

関連する問題