Was ich erreichen möchte, ist eine UISearchBar, die nach oben bewegt und deckt die UINavBar, und enthält eine Schaltfläche zum Abbrechen auf der rechten Seite davon. Alles geht gut, bis ich die folgende Codezeile verwenden:
searchDC = [[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self] autorelease];
Was am Ende passiert ist die UITableView einfach nicht blättern, aber alles andere funktioniert wie erwartet. Wenn ich diese Zeile entfernen, ist meine Navigationsleiste sichtbar, und die Suchleiste sitzt nur unter ihm, auch ohne eine Schaltfläche Abbrechen.
Irgendwelche Ideen?
Der Code zum Zeichnen der Suchleiste lautet:
self.navigationItem.title = @"Search";
searchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.view.bounds.size.width, 44.0f)] autorelease];
searchBar.autocorrectionType = UITextAutocorrectionTypeNo;
searchBar.autocapitalizationType = UITextAutocapitalizationTypeNone;
searchBar.keyboardType = UIKeyboardTypeAlphabet;
searchBar.delegate = self;
[searchBar becomeFirstResponder];
tableView.tableHeaderView = searchBar;
tableView.tableHeaderView.frame = CGRectMake(0.f, 0.f, 480.f, 44.f);
searchDC = [[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self] autorelease];
searchDC.searchResultsDataSource = self;
searchDC.searchResultsDelegate = self;
searchDC.searchResultsTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
searchDC.searchResultsTableView.scrollEnabled = YES;
overlayView.frame = CGRectMake(0, 50, 320, 480);
[self.view addSubview:overlayView];
[self.view bringSubviewToFront:overlayView];