3

I have a UITableViewController and I want a UISearchBar on the top so I use viewForHeaderInSection: delegate method because when I scroll I don't want to hide the UISearchBar. The problem is (only iOS7) that when I press cancel button the UISearchBar disappears.

here is some code:

- (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;
}

Then I return mySearchBar on viewForHeaderInSection: delegate method.

What's wrong with that?

rmaddy
  • 314,917
  • 42
  • 532
  • 579
ignaciohugog
  • 334
  • 2
  • 10

0 Answers0