2014-12-16 2 views
4

Я использую UIRefreshControl с UISearchBar, когда я буду тянуть, чтобы обновить я вижу белый фон в верхней части UIViewControllerШтанге поведение UIRefreshControl с UISearchBar

UISearchBar *searchBar = 
[[UISearchBar alloc] initWithFrame: 
CGRectMake(0, 0, self.tableView.frame.size.width, 44.0)]; 
searchBar.autocorrectionType = UITextAutocorrectionTypeNo; 
self.tableView.tableHeaderView = searchBar; 

_refreshControl = [[UIRefreshControl alloc] init]; 
[_refreshControl addTarget:self action:@selector(update) forControlEvents:UIControlEventValueChanged]; 
[self.tableView addSubview:_refreshControl]; 

enter image description here

enter image description here

проблема на белом фоне выше

любые идеи?

ответ

5

создать фоновое представление для таблицы и установить его цвет clearColor, как этот

- (void)viewDidLoad { 
    self.tableView.backgroundView = [UIView new]; 
    self.tableView.backgroundView.backgroundColor = [UIColor clearColor]; 
} 
+0

спасибо сумасшедшего хак, но любую идею, почему это происходит? – sger

+0

Я думаю, что это просто нормальное поведение для tableView - цвет фона по умолчанию белый, и это то, что он использует для рисования верхней и нижней областей вне ячеек. Я не знаю, почему просто очистка свойства .backgroundColor на tableView не работает, мне всегда приходилось назначать представление вместо фона. –

+0

Это сработало и для меня. Этот ответ должен быть отмечен как правильный. –

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