我想我想把它们移到我最喜欢的位置。我可以设置框架,但是我应该在哪里设置它?
另外,如何确保表格仍然与搜索结果是否为空无关?
这就是我的尝试:
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
controller.searchResultsTableView.frame=self.placeForTableView.frame;
controller.searchResultsTableView.hidden=false;
controller.searchResultsTableView.alpha =1;
[self debugMode:nil];
return true;
}
结果:
然后我添加了这样的东西:
- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView
{
[self putTableViewWhereItBelongs:tableView];
}
- (void)searchDisplayController:(UISearchDisplayController *)controller didHideSearchResultsTableView:(UITableView *)tableView
{
[self putTableViewWhereItBelongs:tableView];
}
-(void)putTableViewWhereItBelongs :(UITableView *) tableView
{
[self.view addSubview:tableView];
tableView.frame=self.placeForTableView.frame;
tableView.hidden=false;
tableView.alpha =1;
}
这正如我希望的那样,只需要一个小小的捕捉。一开始它不起作用。在最开始时,tableView既未显示也未隐藏。
另一个更新:
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
//UISearchDisplayController * controller = [self displayControllerForThisSearchBar:searchBar];
if (IsEmpty(searchBar.text)) {
searchBar.text=@" ";
searchBar.text=@"";
}
//[self putTableViewWhereItBelongs:controller.searchResultsTableView];
}
问题:
否则最终结果完全符合我的要求。
我想知道是否有人可以改善这一点。