現在、テーブル ビューと検索バーをポップオーバー内に配置しようとしていますが、非常に奇妙なバグが発生しています。検索バーをクリックするたびに、キャンセル ボタンがアニメーション表示され、バーがすぐにステータス バーのサイズまで下がります。
UIBarPosition デリゲートをいじってみましたが、何もしません。考えられることはほぼすべて試したので、あなたの助けを求めることにしました。テーブル ヘッダーに検索バーを追加するために UITableViewController で使用するコードは次のとおりです。
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self)
{
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, popoverWidth, singleRowHeight)];
searchBar.delegate = self;
searchBar.showsScopeBar= YES;
searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchDisplayController.delegate = self;
searchDisplayController.searchResultsDataSource = self;
searchDisplayController.searchResultsDelegate = self;
searchDisplayController.searchResultsTableView.rowHeight = singleRowHeight;
self.automaticallyAdjustsScrollViewInsets = NO;
self.tableView.tableHeaderView = searchBar;
return self;
}
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar
{
return UIBarPositionTop;
}
ありがとう!