Как установить цвет фона UITableView в UIPopoverController?

Я использую iOS SDK 4.2. У меня есть UIPopoverController, инициализированный контроллером навигации, который инициализируется контроллером представления. Одно из подчиненных представлений контроллера представления - это представление сгруппированной таблицы. Я хочу изменить цвет фона таблицы. Однако, если я сделаю это в методе viewDidLoad контроллера представления

self.myTableView.backgroundColor = [UIColor blackColor];

фон не меняется, когда появляется всплывающее окно, фон табличного представления серый. Есть подсказка? Что плохого в таком подходе? Заранее спасибо.


person Massimo Cafaro    schedule 14.01.2011    source источник


Ответы (1)


Сгруппированные представления таблиц имеют настраиваемое представление в свойстве backgroundView. Это настраиваемое представление - то, что отображает фон. Если вы хотите изменить фон, вы должны создать собственное представление и назначить его там. В вашем случае вам, вероятно, понадобится что-то вроде следующего:

UIView *bgView = [[[UIView alloc] init] autorelease];
bgView.backgroundColor = [UIColor blackColor];
bgView.opaque = YES;
self.myTableView.backgroundView = bgView;
person Lily Ballard    schedule 14.01.2011
comment
Кевин, ваше предложение отлично работает. Мне также сказали и подтвердили, что простая очистка фонового представления табличного представления перед установкой цвета фона табличного представления дает тот же результат: self.myTableView.backgroundView = nil; self.myTableView.backgroundColor = [UIColor blackColor]; - person Massimo Cafaro; 15.01.2011