最初隐藏 UITableView 的 UISearchDisplayController ( iOS SDK )? [复制]

Posted

技术标签:

【中文标题】最初隐藏 UITableView 的 UISearchDisplayController ( iOS SDK )? [复制]【英文标题】:Hide UISearchDisplayController of UITableView initially ( iOS SDK )? [duplicate] 【发布时间】:2011-10-10 03:03:51 【问题描述】:

最初如何隐藏 UITableView 的 UISearchDisplayController ?我只想让用户向上滚动以查看 UISearchBar。

更新:我正在考虑将 UITableView 向下滚动 40px,以便 UISearchBar 可以对用户“隐藏”。

【问题讨论】:

【参考方案1】:

我的解决方案在viewWillAppear:animted

[my_table_view setContentOffset:CGPointMake(0, searchController.searchBar.bounds.size.height)]; 

UPDATE我们应该获取UISearchBar的高度而不是使用固定值。

【讨论】:

SearchBar 高度为 44 点 谢谢。我会更新答案。 不要使用这样的常量。请改用searchController.searchBar.bounds.height。高度可能会在未来的 ios 版本中发生变化,这会破坏您的代码,但不会破坏这个。 正确。 5年前不知道这个。谢谢。 searchController.searchBar.bounds.height 属性不存在。应该是searchController.searchBar.bounds.size.height【参考方案2】:

这是我在视图中隐藏搜索栏的方式。此剪辑将确保搜索栏最初仅在第一次出现调用时才隐藏。

- (void)viewWillAppear:(BOOL)animated

    [super viewWillAppear:animated];

    //hide search bar
    if (_searchBarRevealed == NO) 
        self.tableView.contentOffset = CGPointMake(0, 44);
        _searchBarRevealed = YES;
    

【讨论】:

TAToolbarHeight() 是什么?我假设它返回 44 的值? 是的,对不起,这是我的内部职能

以上是关于最初隐藏 UITableView 的 UISearchDisplayController ( iOS SDK )? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 和 UISegmentedControl

UITableView 中的 UISearchBar

UITableView 中的自定义单元格使图像在滚动时重叠

在 UITableViewController 中将 UIView 放在 UITableView 前面

UITableView - 如何将触摸传递给父视图

UIView 中的 UISearchBar