テーブルがスクロールする間、検索バーを表示したままにしようとしています。現時点では、テーブルビューのヘッダーとして配置しており、正常に機能しますが、もちろん、テーブルを下に移動すると、検索バーが画面からスクロールアウトします。このコードサンプルを変更するだけでこれができると思いました。
ISearchBarがナビゲーションバーにあり、スコープボタンがあるiOS 8でUISearchControllerを使用するにはどうすればよいですか?
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.delegate = self
searchController.searchBar.delegate = self
searchController.dimsBackgroundDuringPresentation = false
searchController.hidesNavigationBarDuringPresentation = false
tableview.tableHeaderView = searchContoller.searchBar // How to put it elsewhere?
//Alternative that also works
navigationItem.titleView = searchController.searchBar
アイデアは、他の見方をして、
otherview = searchController.searchBar
たとえば、UISearchBarへのアウトレット、空白のUIView、またはそのようなものです。
しかし、そうするとsearchBarが表示されません。これは、テーブルのヘッダービューまたはnavigationItem.titleViewとしてのみ機能するようです。
私は何かが足りないのですか?
テーブルビューの上に配置された空白のUIViewがある場合。
searchContainer
と呼ばれるその空白のUIViewへのアウトレットがあると仮定しましょう。次に、次の行を追加して、UISearchController
の検索バーをそのビューに追加できます。
searchContainer.addSubview(searchController.searchBar)