iOS7 - 搜索结果 tableview 下推 20px

Posted

技术标签:

【中文标题】iOS7 - 搜索结果 tableview 下推 20px【英文标题】:iOS7 - Search results tableview pushed 20px down 【发布时间】:2013-09-23 13:05:45 【问题描述】:

我所有的搜索结果表格视图都偏移了大约 20-30 像素。我所有的视图控制器都是手工编码的,所以没有故事板或 xib。我试过了:

在 info.plist 中设置 Status bar is initially hidden 设置self.wantsFullScreenLayout = true 设置self.edgesForExtendedLayout = UIRectEdgeNone; 设置self.automaticallyAdjustsScrollViewInsets = false; 将搜索结果 tableview 的框架设置为 -20 的 Y 原点

这些都不起作用。相反,每个搜索结果表视图显示为:

有什么解决方法吗?有什么我可以设置的吗?我试过我检查了搜索结果 tableview 框架,它的 Y 原点为 0。

【问题讨论】:

我遇到了同样的问题并找到了一个所谓的解决方案,但它在您的 tableView 和聚光灯之间留下了空间。解决方案是将 tableView 的高度降低 20 并将 y 值增加 20。 我解决了我的问题。你用过uicontrol吗 【参考方案1】:

添加这一行:

self.automaticallyAdjustsScrollViewInsets = false;

检查developer forum可能对你有帮助

【讨论】:

对不起,我忘了提及我也尝试过,但没有运气。结果相同【参考方案2】:

测试设备是否运行 ios 7 并将 viewDidload 中的视图框架向上调整 20 像素。我的表格视图遇到了这个问题,并按如下方式进行了修复:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7)

    CGRect frame = self.myTable.frame;
    frame.origin.y -= 20;
    self.myTable.frame = frame;

【讨论】:

【参考方案3】:

我让它工作了:

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) 
    CGRect frame = self.searchDisplayController.searchResultsTableView.frame;
    frame.origin.y = -20;
    self.searchDisplayController.searchResultsTableView.frame = frame;

放到这个方法里

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString

【讨论】:

以上是关于iOS7 - 搜索结果 tableview 下推 20px的主要内容,如果未能解决你的问题,请参考以下文章

UISearchDisplayController / ISearchResult TableView 在每个搜索中添加额外的行? IOS 7

导航栏下推视频和控件

IOS7上的Tableview字幕

IOS7 tableview底部viewcontrol中的多余空间

将情节提要升级到 ios7 时无法在搜索结果中选择行

iOS7 上的 UISearchDisplayController