1

在我的应用程序中,我使用 UITableView 和 SearchBar,没什么特别的。SearchBar 添加为 tableHeaderView

self.searchDisplayController.searchBar.delegate = self;
     self.myTableView.tableHeaderView = self.searchDisplayController.searchBar;

比我使用下面的代码让 SearchBar 保持打开状态,这样它在滚动时就不会被隐藏。

- (void) scrollViewDidScroll:(UIScrollView *)scrollView {

    CGRect tableBounds = self.myTableView.bounds;
    CGRect searchBarFrame = self.searchDisplayController.searchBar.frame;

    self.searchDisplayController.searchBar.frame = CGRectMake(tableBounds.origin.x, tableBounds.origin.y, searchBarFrame.size.width, searchBarFrame.size.height);
} 

这在 iOS5 和 iOS5.1 中很好用,但在 iOS6 中不行,但我不知道发生了什么变化,有人有什么想法吗?

帮助将不胜感激。

iOS5 和 iOS5.1 中的 SearchBar iOS5 中的搜索栏

iOS6 中的 SearchBar 是隐藏的 iOS6中隐藏的搜索栏

4

1 回答 1

1

我不确定它为什么会改变,但让它在 iOS 6 上运行相当简单。

不要将 设置UISearchBartableHeaderView,而是使用纯UIView文本,然后将搜索栏添加为该视图的子视图。

于 2012-10-18T05:55:03.667 回答