Прозрачный фон в сгруппированном UITableView - iPhone
Я хочу сделать сгруппированный UITableView прозрачным. Я частично преуспел с помощью следующего кода:
UIColor *bgColor = [[UIColor alloc] initWithWhite:1 alpha:0.0];
historyTable.backgroundColor = bgColor;
К сожалению, черные углы появились в округлых клетках. Как от них избавиться?
![After]()
Ответы
Ответ 1
Вместо использования
UIColor *bgColor = [[UIColor alloc] initWithWhite:1 alpha:0.0];
historyTable.backgroundColor = bgColor;
Просто используйте:
historyTable.backgroundColor = [UIColor clearColor];
Это также очищает утечку памяти, которую вы создавали.
Ответ 2
удалить UITableView backgroundView
xxx.backgroundView = nil;
Это необходимо для iPad. Когда компиляция выполняется на iPad и iPhone, проверьте, что tableView отвечает на селектор с...
if ([self.tableView respondsToSelector:@selector(setBackgroundView:)]) {
[self.tableView setBackgroundView:nil];
}
Ответ 3
для меня он работал окончательно после установки как nil/clear:
[myTableView setBackgroundView:nil];
[myTableView setBackgroundColor:[UIColor clearColor]];
Ответ 4
У меня была эта проблема и выяснилось, что между использованием:
[[UIColor alloc] initWithWhite:1 alpha:0.0];
и используя:
[UIColor clearColor];
Я попробовал оба из них и все еще имел маленькие черные углы на моем столе.
Я также попытался установить backgroundView на нуль, как было предложено, но это тоже не сработало.
Я решил это, установив фоны отдельных ячеек прозрачными в методе cellForRowAtIndexPath:
cell.backgroundColor = [UIColor clearColor];
Конечно, это имеет побочный эффект, что ваши клетки сами по себе прозрачны, что не идеально для всех, но в этом случае для меня это нормально.