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 の検索バー iOS5 の検索バー

iOS6 の SearchBar が非表示になっている iOS6 で非表示になった検索バー

4

1 に答える 1

1

なぜ変更されたのかはわかりませんが、iOS6でこれを機能させるのはかなり簡単です。

UISearchBarをとして設定する代わりに、代わりにtableHeaderViewプレーンを使用してUIViewから、そのビューの子として検索バーを追加します。

于 2012-10-18T05:55:03.667 に答える