我正在开发一个iOS应用程序,我想添加一个搜索按钮来启动对表视图的搜索。搜索时,不应使用表格单元格滚动搜索栏。
答案 0 :(得分:2)
要使搜索栏(或任何视图真正)“粘贴”到UITableView
的顶部或底部,有两种方法:
将表格的框架调整为视图高度减去条形图的高度,然后将条形图框设置为{0, 0, CGRectGetWidth(self.tableView.frame), CGRectGetHeight(self.tableView.frame)}
,这会将其静态定位在视图的底部。如果您使用的是股票UITableViewController
,则需要执行一些额外的工作,因为self.view
和self.tableView
都指向同一个对象。您需要将新的UIView
设置为self.view
,然后它将成为表格视图和搜索栏视图的容器。
将栏添加为表的子视图,然后在控制器中实现UIScrollViewDelegate
并使用scrollViewDidScroll:
(每当用户滚动视图时触发)以更新栏的位置。新职位将是这样的:
CGRect adjustedFrame = self.searchBarView.frame;
adjustedFrame.origin.y = self.tableView.contentOffset.y + CGRectGetHeight(self.tableView.frame) - CGRectGetHeight(self.searchBarView.frame);
self.searchBarView.frame = adjustedFrame;