3

があり、一番上に が UITableViewController必要なので、デリゲート メソッドを使用します。スクロールするときに を隠したくないからです。問題は(iOS7のみ)キャンセルボタンを押すと消えてしまうことです。UISearchBarviewForHeaderInSection:UISearchBarUISearchBar

ここにいくつかのコードがあります:

- (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:デリゲート メソッドに戻ります。

それの何がいけないの?

4

0 に答える 0