我尝试将自定义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。
搜索栏变为 Activity 状态后,控制器将fist值重置为-210px左右,并在表视图中滚动了一点后将其重置为0px。

任何想法为什么会这样? Controller和TableView可以正常工作,但是我无法设置自定义contentInset。

谢谢!

最佳答案

在_searchController.delegate中,添加以下代码

    - (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {
        controller.searchResultsTableView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, 2.0f, 0.0f);
    }

关于iphone - UISearchDisplayController重置contentInset,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15719935/

10-14 23:29