【问题标题】:Is it possible to hide a UITableView's rows but not the search bar?是否可以隐藏 UITableView 的行但不能隐藏搜索栏?
【发布时间】:2015-10-27 19:25:57
【问题描述】:

我有一个带有 UISearchBar 的 UITable

self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 70, 320, 44)];
self.tableView.tableHeaderView = self.searchBar;

“隐藏”属性隐藏整个表格,包括搜索栏。

self.tableView.hidden = false;

有没有什么简单的方法可以隐藏表格的行,而不是搜索栏?当搜索没有返回结果时,我想显示另一个 UIView。

【问题讨论】:

    标签: ios objective-c uitableview uisearchbar


    【解决方案1】:

    是的!

    1. 使用UIViewController 而不是UITableViewController
    2. 添加tableView(距顶部44px)
    3. 在最上面添加Searchbar,(不在TableView中)

    现在你可以走了。

    【讨论】:

    • 这是一种可怕的方式! iOS 标准 UI 在 tableview 中嵌入了搜索栏,因此当用户向上滚动时它会滚动到一边。为什么没有 UISearchController 来管理搜索?
    • @Avi 这有什么可怕的。请在技术上具体。考虑到,问题具体说明了要求是不要隐藏searchBar。
    • @rptwsthi,再次感谢您的回答,不得不拒绝接受,因为我最终选择了以下答案中建议的解决方案——对我来说更容易实施并更好地适应我已经拥有的东西。
    • @Avi 只是不使用 UISearchController 的个人实现选择。据我所知,我真的不需要它,它让我的生活更轻松,因为我必须支持旧版本的 iOS。
    【解决方案2】:

    我所做的是当没有结果时,所以行数 = 0,我改为返回 1 行。这一行是一个 UITableViewCell ,它是你的空屏幕。因此,您应该计算 UITableView 的高度并从中减去搜索视图的高度。此高度是您的“搜索为空”视图高度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 2015-11-07
      • 1970-01-01
      • 2020-07-01
      相关资源
      最近更新 更多