в iOS 6
[uitableview setBackgroundColor:] не устанавливает цвет, когда стиль таблицы UITableViewStyleGrouped
вместо этого отображается полосатый фон по умолчанию.
Как установить фон таблицы, если стиль UITableViewStyleGrouped
в iOS 6
[uitableview setBackgroundColor:] не устанавливает цвет, когда стиль таблицы UITableViewStyleGrouped
вместо этого отображается полосатый фон по умолчанию.
Как установить фон таблицы, если стиль UITableViewStyleGrouped
self.view.backgroundColor = TTSTYLEVAR(mainPageBackground);
self.tableView.separatorColor = TTSTYLEVAR(mainPageBackground);
self.tableView.backgroundView = nil;
Исправлено это для меня. Вы должны быть осторожны с тем, какие другие воздействия это может иметь, хотя.
[tableViewInstance setBackgroundView: nil];
Настройка
[tableView setBackgroundView: nil];
дает мне проблемы в iOS 5, поэтому я использую:
UIView* bview = [[UIView alloc] init];
bview.backgroundColor = [UIColor yellowColor];
[tableView setBackgroundView:bview];
iOS 5 и 6 совместимы!
Еще одно простое решение - изменить цвет фона UITableView в IB. Например, я перешел на "Белый цвет", и он снова работал.
Как-то, оставляя цвет фона "по умолчанию", iOS 6 не беспокоится о любых других настройках цвета, сделанных в коде.
Я бы посоветовал установить 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;
}
в ios 6 - метод сгруппированного представления таблицы, то есть backgroundColor устарел, поэтому вместо этого используйте
[tableview setBackgroundView : nil];
Я знаю, что это уже отмечено как ответ, но также работает следующее:
[[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 в приложении. Спасибо автору за оригинальный намек!
настройка фона на ноль выполняет задание и да, он не будет иметь проблем с предыдущими версиями.