があり、一番上に が
UITableViewController
必要なので、デリゲート メソッドを使用します。スクロールするときに を隠したくないからです。問題は(iOS7のみ)キャンセルボタンを押すと消えてしまうことです。UISearchBar
viewForHeaderInSection:
UISearchBar
UISearchBar
ここにいくつかのコードがあります:
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:UITableViewStylePlain];
if (self) {
// Custom initialization
self.filteredListContent = [[NSMutableArray alloc] init];
mySearchBar = [[UISearchBar alloc] init];
mySearchBar.delegate = self;
[mySearchBar setAutocapitalizationType:UITextAutocapitalizationTypeNone];
[mySearchBar sizeToFit];
searchDisplayController = [[UISearchDisplayController alloc]initWithSearchBar:mySearchBar contentsController:self];
[searchDisplayController setDelegate:self];
[self setSearchDisplayController:searchDisplayController];
[searchDisplayController setSearchResultsDataSource:self];
self.tableView.scrollEnabled = YES;
}
return self;
}
mySearchBar
次に、viewForHeaderInSection:
デリゲート メソッドに戻ります。
それの何がいけないの?