1

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

4

1 回答 1

2

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

  • 将表格的框架调整为视图高度减去栏的高度,然后将栏的框架设置为{0, 0, CGRectGetWidth(self.tableView.frame), CGRectGetHeight(self.tableView.frame)},这会将其静态定位在视图的底部。如果您使用的是 stock UITableViewController,则需要做一些额外的工作,因为self.view两者self.tableView都指向同一个对象。您需要设置一个新UIViewself.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;
    
于 2013-04-14T15:40:18.810 回答