如何在Xcode的表格视图底部添加搜索栏?

时间:2013-04-13 22:23:26

标签: ios objective-c uitableview uisearchbar

我正在开发一个iOS应用程序,我想添加一个搜索按钮来启动对表视图的搜索。搜索时,不应使用表格单元格滚动搜索栏。

1 个答案:

答案 0 :(得分:2)

要使搜索栏(或任何视图真正)“粘贴”到UITableView的顶部或底部,有两种方法:

  • 将表格的框架调整为视图高度减去条形图的高度,然后将条形图框设置为{0, 0, CGRectGetWidth(self.tableView.frame), CGRectGetHeight(self.tableView.frame)},这会将其静态定位在视图的底部。如果您使用的是股票UITableViewController,则需要执行一些额外的工作,因为self.viewself.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;