【问题标题】:Permanently Hide UISearchDisplayController永久隐藏 UISearchDisplayController
【发布时间】:2014-02-17 23:02:33
【问题描述】:

我试图在 iOS 7 表视图控制器中隐藏附加到 UITableView 的 searchDisplay 控制器。我不想暂时将其从顶部滚动;我希望它被完全禁用。

在我的表格视图控制器代码(其中,FWIW 设置为分组样式 because of this)中,我有:

self.searchDisplayController.searchBar.hidden = YES;

这确实隐藏了搜索栏,但不幸的是,我的桌子顶部出现了一个空白框:

这个空白会像搜索栏一样滚出屏幕。 self.searchDisplayController.searchBar.hidden = NO; 将按预期带回搜索栏。

我尝试使用来自this question 的问题和答案的建议将我的表格视图向上移动 44 像素,除了它具有隐藏下拉刷新指​​示器的副作用之外,哪种方法有效我的桌子上。

我还尝试将搜索栏的框架设置为没有高度:

self.searchDisplayController.searchBar.frame = CGRectMake(0, 0, self.tableView.frame.size.width, 0);

但这也不能消除我桌子顶部的空白空间。

如何从 UISearchDisplayController 中隐藏搜索栏,并真正让它占据的空间折叠起来,就好像它一开始就不存在一样?

【问题讨论】:

  • 你有没有想过检查搜索显示是否真的被隐藏了? if(self.searchDisplayController.searchBar.hidden) { // 使 frame = 0; 之类的东西} else { // 使 frame = 44} 然后设置下面的框架
  • 我根据标准用户默认值在 if 语句中设置了 hidden 属性。在设置 hidden 属性时,我确实尝试在相同的 if 语句中设置 searchBar 的框架;我仍然有缺少下拉刷新指​​示器的副作用。

标签: ios uitableview ios7 uisearchdisplaycontroller searchdisplaycontroller


【解决方案1】:

我最终通过链接应用程序的行为来解决这个问题,以规避这种奇怪行为的条件。我不确定此行为是否在以后的操作系统版本中得到修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    相关资源
    最近更新 更多