【问题标题】:Table View Hide Searchbar until scrolled表格视图隐藏搜索栏直到滚动
【发布时间】:2014-08-23 07:56:57
【问题描述】:

我设置了一个表格视图和一个工作搜索栏 - 不涉及 XIB 或 STORYBOARD。在搜索栏上方,我有标签显示表格视图中的条目数和其他一些东西。好吧,现在我希望隐藏搜索栏 + 标签,直到用户向上滚动(如在音乐应用中)。这是我的搜索栏的设置

self.searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
self.searchBar.showsCancelButton = YES;
[self.view addSubview:self.searchBar];
self.searchBar.delegate = self;
self.tableView.contentInset = UIEdgeInsetsMake(self.searchBar.frame.size.height,0, 0, 0);
[self.tableView setTableHeaderView:self.searchBar];
[self.tableView setContentOffset:CGPointMake(0,88) animated:YES];
[self.zsearchDisplayController setActive:NO animated:YES];

这是我的标签:

 tableCountDisplay = [[UILabel alloc]initWithFrame:CGRectMake(5, -44, 155, 44)];

标签已经隐藏,直到用户滚动。问题是 - 我无法隐藏搜索栏。如果我这样做了

 [self.tableView setContentOffset:CGPointMake(0,88) animated:YES];

然后搜索栏和标签被隐藏,但也是我的表格视图的第一个元素......

如果我做 44 或 0(不管是哪一个)

[self.tableView setContentOffset:CGPointMake(0,44 or 0) animated:YES];

标签是隐藏的,而其他一切都是可见的。从技术上讲,0,44 应该是正确的偏移量,但由于某种原因它不起作用。 如果能得到帮助,我会非常高兴!

【问题讨论】:

  • 为什么要将您的 searchBar 作为 subView 添加到 self.view 并在设置 tableHeaderView 之后?你不应该只是设置后者吗?
  • @Michael 我应该将其添加为要查看的子视图还是表视图的标题?抱歉,我对 xcode 还很陌生,逐步学习......
  • 希望我的回答能让你朝着正确的方向前进

标签: ios objective-c xcode uitableview uisearchbar


【解决方案1】:

其中一个解决方案是将您的searchBar 和您的label 作为子视图添加到UIView。然后将此UIView 设置为TableHeaderView。我的工作示例如下所示:

滚动前的画面:

滚动后的画面:

【讨论】:

  • 非常感谢您的努力,直到今天我才离开办公室,刚刚试了一下——效果很好!没有你,我永远不会有创建单独视图的想法,非常感谢!
  • 为什么不把代码放在你的答案中而不是整个屏幕截图中?
  • 只是我当时的谦逊哲学:与有意识地输入解决方案相比,您从复制/粘贴中学到的东西更少。
【解决方案2】:

没有办法保持 tableView 的标题固定

1- 可以使用 UIViewController 代替 UITableViewController。

2-为标题添加子视图(UIView)(在此视图中添加searchBarView)。

3- 并为 tableview 添加另一个子视图。

【讨论】:

    【解决方案3】:

    怎么样

    tableView.contentOffset = CGPoint(x: 0, y: (tableView.tableHeaderView?.frame.size.height ?? 0))
    

    wiewWillAppear: ;)

    【讨论】:

      猜你喜欢
      • 2018-05-16
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      • 2015-11-07
      相关资源
      最近更新 更多