调整UISearchDisplayController的UITableview

时间:2013-03-14 18:27:27

标签: ios uitableview uisearchdisplaycontroller

我在布局中使用了两个搜索栏,如下所示:

double search bar

两个搜索栏都有一个显示建议表的UISearchDisplayController。

我的问题是,顶部搜索栏的显示控制器在底部搜索栏上绘制其UITable,如下所示:

draw over bottom bar

我试图在uisearchdisplaydelegate中向下移动底部表格,如下所示:

- (void)searchDisplayController:(UISearchDisplayController *)controller      
didLoadSearchResultsTableView:(UITableView *)tableView
{
float yOffset = 50.0f;
tableView.frame =  CGRectMake(tableView.frame.origin.x,tableView.frame.origin.y + yOffset,tableView.frame.size.width, tableView.frame.size.height);                                  
}

但即使该方法在正确的时间被调用,它似乎也没有做任何事情。

我基本上喜欢顶部搜索栏建议表与底部搜索栏建议表位于同一位置

我正在使用故事板和自动布局最新的xcode

1 个答案:

答案 0 :(得分:0)

在iOS 7中,您只需将y原点设置为yOffset即可。如果在

中打印出表格视图的框架

- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView

你会注意到origin.y是0,0。然而,在iOS 6中,它是不同的。如果您计划支持这两个版本,那么您需要在那里办理入住手续。尝试在上面提到的委托方法中设置origin.y。