UITableView фон с альфа-цветом вызывает проблемы с UITableViewCell - PullRequest
1 голос
/ 12 октября 2010

Я пытаюсь получить полупрозрачный uitableview с этим цветом

[UIColor colorWithRed:(247.0/255.) green:(151.0/255.0) blue:(121.0/255.0) alpha:0.38];

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

Ячейки с содержимым внутри полупрозрачны, но с неправильной альфа.

Фон таблицыустановлен правильно

self.myTable.backgroundColor = bgcolor;

Фон ячейки установлен как прозрачный, а не непрозрачный

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

Итак, почему у него такое поведение?Кто-нибудь может мне помочь?

Ответы [ 3 ]

2 голосов
/ 29 октября 2010

Я решил использовать прозрачный UITableView и поместить полупрозрачный UIView позади него.

0 голосов
/ 09 февраля 2011

Я только что столкнулся с точно такой же проблемой.

После взлома - (void) setBackgroundColor в классе UITableViewCell кажется, что он вызывается внутренними методами UITableView сразу после

-(UITableViewCell*)tableView:cellForRowAtIndexPath:

метод вашего делегата.Другой обходной путь - перегрузить метод

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

в вашем делегате и установить цвет фона ваших ячеек здесь.

0 голосов
/ 12 октября 2010

Вероятно, это связано с кэшированием ячейки. Вы пробовали отключить кеш? Конечно, это очень неэффективно, но это может помочь вам найти решение этой проблемы, если это действительно кеш UITableViewCell.

Вы можете отключить его, не используя функцию "dequeueReusableCell" в вашем tableView: cellForRowAtIndexPath: function.

...