【发布时间】:2014-05-25 15:45:53
【问题描述】:
我有一个UITableViewController 子类,显示在 iPad 上的模式视图中。视图控制器有一个UISearchDisplayController 子类,其中一个UISearchBar 包含在表的标题视图中。
子类UISearchDisplayController 被称为NoAnimationSearchDisplayController,我已经覆盖了- (void)setActive:(BOOL)visible animated:(BOOL)animated
方法,以防止搜索栏在设置为活动时进入导航栏。方法覆盖如下...
- (void)setActive:(BOOL)visible animated:(BOOL)animated
{
if (self.active == visible) {
return;
}
[self.searchContentsController.navigationController setNavigationBarHidden:YES animated:NO];
[super setActive:visible animated:animated];
[self.searchContentsController.navigationController setNavigationBarHidden:NO animated:NO];
if (visible) {
[self.searchBar becomeFirstResponder];
} else {
[self.searchBar resignFirstResponder];
}
}
我遇到的问题是,当我搜索并且结果显示在我的搜索显示控制器的表格视图中时,一切看起来都很好,直到我尝试向下滚动列表,此时单元格中的内容出现搜索栏上方,如下图所示:
搜索栏设置为UISearchBarStyleMinimal 并启用透明度。谁能告诉我如何阻止此内容与搜索栏重叠?理想情况下,内容会在搜索栏下消失,就好像它是视图的结尾一样。
【问题讨论】:
标签: ios objective-c layout uisearchbar uisearchdisplaycontroller