0

セルにデータを表示するUITableViewControllerがあります。このviewWillAppearメソッドを使用して、UIViewをtableHeaderViewに追加しますself.tableView.tableHeaderView =headerView;

headerViewで、UISearchBarとUISegmentControlをプログラムで追加します。UISearchBarデリゲートをこのように設定しました

self.searchDisplay.delegate = self;
self.searchDisplay.searchBar.delegate = self;
self.searchDisplay.searchResultsDataSource = self;
self.searchDisplay.searchResultsTableView.delegate = self;

searchDisplayですUISearchDisplayController。_

検索は完全に機能しますが、私の問題は、searchResultsTableViewUINavigationControllerの戻るボタンにタッチしてこのビューに戻ったときに1つのセルを選択して別のviewControllerに移動すると、テーブルがスクロールしなくなることです。

この2つの方法を追加しましたがviewDidLoadviewWillAppear それでも機能しません

self.tableView.bounces = YES;
self.tableView.scrollEnabled = YES;

検索せずにテーブルから1つの行を選択して行き、戻ってくると、完全に機能します。

どうしたの ?

4

2 に答える 2

0

配置してみてください

self.tableView.bounces = YES;
self.tableView.scrollEnabled = YES;

- (void) viewWillAppear:(BOOL)animated代わりにviewDidLoadviewDidLoad他の視点から戻ってきても呼ばれることはなく、作成されたときだけだと思います。

于 2012-11-18T10:04:46.350 に答える
0

実際には、ビューで2つのテーブルビューを使用しています。1self.tableViewself.searchDisplay.searchBarTableViewはデータを表示するためのもので、もう1つは検索されたデータを表示するためのものです。セグエの後、searchViewControllerは画面に残っていると思います。

データ全体と検索結果を単一のtableViewに表示するためのトリックがあります(使用する必要はありませんUISearchDisplayController

検索結果を表示するには、次のようにします。

self.tableView.dataSource = self;
self.tableView.delegate = self;

実際のデータについては、を空にして、UISearchBarデータ全体をテーブルビューデータソースにロードできます。

于 2012-11-18T13:02:27.943 に答える