【发布时间】: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