2017-09-28 2 views
1

私のUITableViewのヘッダーにsearchBarを追加していて、ユーザーがそのセルをスクロールしている間に使用できるようにします。スタイルをUITableViewStyleGroupedに変更しても、Tableviewヘッダーはスクロールできません。

私はスタイルをUITableViewStyleGroupedに設定してみましたが、私の問題は解決しませんでした。ヘッダが停止したままされてなぜここ

はコード

var searchController: UISearchController = UISearchController(searchResultsController: nil) 
searchController.searchResultsUpdater = self 
searchController.dimsBackgroundDuringPresentation = false 
definesPresentationContext = true 
tableView.tableHeaderView = searchController.searchBar 

いかなる理由ですか?

+0

@conarchない有用な答えが、それは検索バーとは何の関係もありません。問題は、コンテンツをスクロールするときにスクロールしなければならないヘッダーにあります – Siyavash

+0

私があなたが提示したコードである検索バーb/cを仮定しました。つまり、テーブルヘッダーとして割り当てたことになります。これはTABLEヘッダーなので、スクロールしないでください。 – ghostatron

+0

@conarchヘッダービューにsearchBarを表示しているので、空のビューを追加しても同じ結果が得られます。 – Siyavash

答えて

0

あなたはiOSの11を使用している場合は、次のコードを使用してUINavigationBarにUISearchBarを置くことができます。 UISearchBarは、UITableViewをスクロールしても常に表示されます。

class DishesTableViewController : UITableViewController, UISearchResultsUpdating { 

    func updateSearchResults(for searchController: UISearchController) { 

    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let searchController = UISearchController(searchResultsController: self) 
     searchController.searchResultsUpdater = self 

     self.navigationItem.searchController = searchController 
     self.navigationItem.hidesSearchBarWhenScrolling = false 
    } 

enter image description here

0

プログラマチックなソリューションだけを探しているのかどうかはわかりませんが、Interface BuilderではUITableViewの上に検索バーを置くことができます。

enter image description here

関連する問題