3

カスタム contentInset を UISearchdisplayControllers searchResultsTableView に設定しようとしています。

初期化したら

_searchController = [[UISearchDisplayController alloc] initWithSearchBar:_searchBar contentsController:self];
_searchController.delegate = self;
_searchController.searchResultsDelegate = self;
_searchController.searchResultsDataSource = self;
_searchController.searchResultsTableView.delegate = self;

contentInset を設定します

_searchController.searchResultsTableView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, 2.0f, 0.0f);

このインセットをログに記録すると、下部に 2 のオフセットが正しく表示されます。検索バーがアクティブになった後、コントローラーは値の拳を約-210pxにリセットし、テーブルビューで少しスクロールした後、値を0pxに戻します。

なぜこれが起こっているのですか?Controller と TableView は正常に動作しますが、カスタム contentInset を設定できません。

ありがとう!

4

1 に答える 1

-1

_searchController.delegate に、次のコードを追加します

    - (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {
        controller.searchResultsTableView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, 2.0f, 0.0f);
    }
于 2014-02-15T08:03:42.477 に答える