1

我在布局中使用了两个相互重叠的搜索栏,如下所示:

双搜索栏

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

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

在底栏上画

我试图在 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

4

1 回答 1

0

在 iOS 7 中,您只需将 y 原点设置为 yOffset。如果您打印出表格视图的框架

-(void)searchDisplayController:(UISearchDisplayController *)控制器 didShowSearchResultsTableView:(UITableView *)tableView

您会注意到 origin.y 位于 0,0。然而,在 iOS 6 中,情况有所不同。如果您计划同时支持这两个版本,则需要在那里进行检查。尝试在上面提到的委托方法中设置 origin.y。

于 2013-09-25T21:42:29.367 回答