Подтвердить что ты не робот

Uitableview setbackgroundcolor не устанавливает цвет в таблице UITableViewStyleGrouped

в iOS 6

[uitableview setBackgroundColor:] не устанавливает цвет, когда стиль таблицы UITableViewStyleGrouped

вместо этого отображается полосатый фон по умолчанию.

Как установить фон таблицы, если стиль UITableViewStyleGrouped

4b9b3361

Ответ 1

self.view.backgroundColor = TTSTYLEVAR(mainPageBackground);
self.tableView.separatorColor   = TTSTYLEVAR(mainPageBackground);
self.tableView.backgroundView = nil;

Исправлено это для меня. Вы должны быть осторожны с тем, какие другие воздействия это может иметь, хотя.

Ответ 2

[tableViewInstance setBackgroundView: nil];

Ответ 3

Настройка

[tableView setBackgroundView: nil];

дает мне проблемы в iOS 5, поэтому я использую:

UIView* bview = [[UIView alloc] init];
bview.backgroundColor = [UIColor yellowColor];
[tableView setBackgroundView:bview];

iOS 5 и 6 совместимы!

Ответ 4

Еще одно простое решение - изменить цвет фона UITableView в IB. Например, я перешел на "Белый цвет", и он снова работал.

Как-то, оставляя цвет фона "по умолчанию", iOS 6 не беспокоится о любых других настройках цвета, сделанных в коде.

Ответ 5

Я бы посоветовал установить backgroundView на ноль. По моему опыту это приводит к сильной результативности рендеринга при прокрутке пользователя в последнем XCode 4.5. Вот мое решение этой проблемы, которое не повлияло на производительность прокрутки:

- (void) viewWillLayoutSubviews
{
    CGRect rect = [[UIScreen mainScreen] bounds];
    CGRect frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);

    UIView *backgroundView = [[[UIView alloc] initWithFrame:frame] autorelease];
    backgroundView.backgroundColor = [UIColor clearColor];
    self.tableView.backgroundView = backgroundView;
}

Ответ 6

в ios 6 - метод сгруппированного представления таблицы, то есть backgroundColor устарел, поэтому вместо этого используйте

[tableview setBackgroundView : nil];

Ответ 7

Я знаю, что это уже отмечено как ответ, но также работает следующее:

[[UITableView appearance] setBackgroundColor:[UIColor colorWithRed:233.0/255.0 green:233.0/255.0 blue:233.0/255.0 alpha:1.0]];

[[UITableView appearance] setBackgroundView:nil];

Таким образом, вам не нужно устанавливать для каждого tableView в приложении. Спасибо автору за оригинальный намек!

Ответ 8

настройка фона на ноль выполняет задание и да, он не будет иметь проблем с предыдущими версиями.