Настройка прозрачного фона на Custom UITableViewCell iOS 5 не работает, ни один из приемов не работает - PullRequest
3 голосов
/ 12 февраля 2012

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

Моя точка зрения: я создал настраиваемую ячейку табличного представления, установил все прозрачным, но ничего не было прозрачным.

Итак, я посмотрел здесь, просматривая все подпредставления,их подпредставления, и cell.backgroundColor и установить его в прозрачный.

Я реализую метод - (tableView *) willDisplayCell и выполнил рекомендуемые шаги, все еще не прозрачные.

Я запутался сsetSelected: метод обратного вызова, выполнение рекомендуемого вместе с установкой прозрачных подпредставлений.

Теперь я должен поблагодарить Apple за белый фон.

Так что в итоге я просто подключил вид изображения с похожимцвет.Я бы предпочел не использовать этот метод.

Я установил тип для настраиваемой ячейки табличного представления (в Xib я выбрал «Пользовательский» в раскрывающемся списке свойств основного вида справа).

Вот мой код: [code] (извините за форматирование, StackOverflow говорит, что клавиша табуляции сделает это ... в браузере ...)

 if (cell == nil) {

        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"TheCustomTableViewCellTableViewCell" owner:self options:nil];

        // Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).

        cell = [topLevelObjects objectAtIndex:0];

       // Load the top-level objects from the custom cell XIB.

        TheCustomTableViewCell * customCell = (TheCustomTableViewCell*)cell;

        customCell.titleTextLabel.text = item.title;

//This is Matt Gallagher 's answer modified but isn't working       

cell.selectedBackgroundView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)] autorelease];

        cell.selectedBackgroundView.backgroundColor = [UIColor redColor];

[/ code]

Последнее замечание: я пытался подключить различные виды внутри моей Xib как «BackgroundView» и установить их прозрачными, а также создать свой собственный, любопытный, есть ли какой-то особый способ, которым я должен это сделать, чтобы получитьнаконец-то, чтобы он стал прозрачным.

У меня такое чувство, что рекурсивный цикл по каждому отдельному представлению не лучшее решение и, вероятно, не сработает.

Возможно, мне просто нужно перезагрузитькомпьютер, но я уже очистил сборку и перезапустил XCode 4.

Любая помощь будет принята с благодарностью ... Я нахожусь в Xcode 4 iOS 5, которая делает бессмысленным использование двойных мониторов, удаляя всеваши функции редактирования из тОн Xib редактор, если вы попытаетесь изменить его в другом окне!Просто чтобы быть конкретным.Кроме того, установка свежая, у меня нет эмулятора iOS 4, я скоро его скачу и посмотрю, есть ли проблемы с версией

1 Ответ

2 голосов
/ 12 февраля 2012
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
...
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor clearColor];
...
}
...