2

При добавлении UISearchController в представление заголовка UITableView невозможно установить фон позади UISearchBar.UISearchController UISearchBar background

Второе изображение показывает вид при перетаскивании на дно.

Normal Dragging

The UITableView устанавливается в раскадровку без каких-либо заголовков.

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil]; 

// Setup appearance 
self.searchController.searchBar.barStyle = UIBarStyleBlack; 
self.searchController.searchBar.barTintColor = BLUE; 
self.searchController.searchBar.tintColor = RED; 

// Setup logic 
self.searchController.searchBar.scopeButtonTitles = @[ NSLocalizedString(@"students", nil), NSLocalizedString(@"professors", nil), NSLocalizedString(@"rooms", nil) ]; 
self.searchController.searchBar.delegate = self; 
self.searchController.searchResultsUpdater = self; 
self.tableView.tableHeaderView = self.searchController.searchBar; 

self.searchController.dimsBackgroundDuringPresentation = NO; 
self.searchController.hidesNavigationBarDuringPresentation = NO; 
self.definesPresentationContext = YES; 

Я попытался добавить фон к раскадровке, к надтаблицы, в UITableView, и вручную в UISearchBar.

Дополнительный код here.

ответ

2

Вы можете попробовать это:

UIView* topview = [[UIView alloc] initWithFrame:CGRectMake(0, -480, self.view.frame.size.width, 480)]; 
topview.backgroundColor = BLUE; 

[self.tableView addSubview:topview]; 

я испытал с UITableViewController и она отлично работает.

Вдохновленный из this answer

+3

Я использовал [этот хак] (https://stackoverflow.com/questions/1166236/light-gray-background-in-bounce-area-of-a-uitableview/23385790#23385790), чтобы добавить пустой вид. благодаря – thegameg

Смежные вопросы