Цвет фона UITableView не меняется - PullRequest
18 голосов
/ 24 января 2011

В модели 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

Ответы [ 3 ]

43 голосов
/ 24 января 2011

Вам также необходимо установить для свойства backgroundView вашего UITableView значение nil в последних (начиная с 3.2) версиях iOS.

Как таковой, добавление ...

tbView.backgroundView = nil;

... должны разобраться в ваших проблемах.

Тем не менее, если вы хотите поддерживать совместимость с устройствами, предшествующими 3.2, вам следует проверить наличие этого с помощью метода instancesRespondToSelector, прежде чем вызывать его.

12 голосов
/ 24 января 2011

Убедитесь, что у вас установлены следующие 3 опции:

tbView.opaque = NO;
tbView.backgroundColor = [UIColor clearColor];
tbView.backgroundView  = nil;
3 голосов
/ 24 января 2011

1001 * попробовать *

tbView.backgroundView = nil;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...