Цвет фона UITableView не изменяется
В модели UIViewController у меня есть следующая реализация loadView (все создается программно):
- (void)loadView {
// Add Basic View
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 540, 620)];
myView.backgroundColor = [UIColor clearColor];
self.view = myView;
[myView release];
// Add NavigationBar
// Add a BG image
// Add Table
UITableView *tbView = [[UITableView alloc] initWithFrame:CGRectMake(30, 80, 480, 250) style:UITableViewStyleGrouped];
tbView.dataSource = self;
tbView.delegate = self;
tbView.scrollEnabled = NO;
tbView.backgroundColor = [UIColor clearColor];
[tbView reloadData];
[self.view addSubview:tbView];
[tbView release];
// some more code
}
Как вы видите, я устанавливаю backgroundColor на clearColor, но когда я компилирую и запускаю код, я всегда вижу серый стол за столом:
![enter image description here]()
Я не понимаю, что я делаю неправильно (звучит глупо, я знаю), у меня был тот же самый код, и он работал отлично. Я компилирую с iOS SDK 4.2.1
Ответы
Ответ 1
Вам также необходимо установить свойство backgroundView UITableView на ноль в последних версиях iOS (начиная с версии 3.2).
Таким образом, добавление...
tbView.backgroundView = nil;
... должен сортировать ваши проблемы.
Тем не менее, если вы хотите поддерживать совместимость с устройствами до 3.2, вы должны проверить существование этого с помощью метода instancesRespondToSelector
перед его вызовом.
Ответ 2
Убедитесь, что у вас установлены следующие 3 варианта:
tbView.opaque = NO;
tbView.backgroundColor = [UIColor clearColor];
tbView.backgroundView = nil;
Ответ 3
попробовать
tbView.backgroundView = nil;