Как сделать UITableView прозрачным? - PullRequest
2 голосов
/ 13 сентября 2011

В моем приложении я представляю класс UITableViewController (сгруппированный стиль) пользователю для конкретного сценария. Я хочу показать только ячейки табличного представления. Фон должен быть прозрачным, чтобы пользователь мог видеть предыдущую страницу.

Я пытался использовать следующие коды в методе viewDidLoad контроллера табличного представления. Но они не работают ..

self.tableView.backgroundColor = [UIColor clearColor];

self.tableView.opaque = NO;

self.tableView.backgroundView = nil;

Можно ли показать ячейки с затемненным фоном?

Заранее спасибо

Ответы [ 2 ]

8 голосов
/ 13 сентября 2011

Я использую: (в viewDidLoad)

   self.tableView.backgroundColor = [UIColor clearColor];
    self.tableView.opaque = NO;

Затем в cellForRowAtIndexPath:

cell.textLabel.backgroundColor = [UIColor clearColor];
    cell.detailTextLabel.backgroundColor = [UIColor clearColor];
    cell.backgroundColor = [UIColor colorWithWhite:1 alpha:.55];

Не уверен, что это то, что вы хотели, но это дает вам возможность прояснить все. (очевидно альфа изменится для вашего случая, но это измеряет емкость клеток)

1 голос
/ 13 сентября 2011

Простое изменение tableView не помогает.Вы должны также связываться с клетками.Внутри cellForRowAtIndexPath: (NSIndexPath *) indexPath поместите это перед оператором возврата:

UIView * bgView =[[UIView alloc] initWithFrame:CGRectZero] autorelease];
bgView.backgroundColor = [UIColor clearColor];
cell.backgroundView = bgView;
...