2015-01-16 5 views
0

Я пытаюсь заставить ячейки представления таблицы отображать пользовательское изображение галочки при выборе. Проблема в том, что цвет за галочкой - серый, а не цвет пользовательского ящика, который я предоставляю.Настройка пользовательского цвета для фона UITableViewCell аксессуар

Я знаю, этот вопрос был задан раньше - я прочитал и попытался следующие предложения:

Среди других , Общий консенсус, похоже, что изменение цвета ячейки backgroundView повлияет на аксессуар, но, похоже, это не так. Вот мой текущий код:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    cell.accessoryView = [[UIImageView alloc] initWithImage:_checkImage]; 

    [self setCellColor:_customColor forCell:cell]; 
} 

- (void)setCellColor:(UIColor *)color forCell:(UITableViewCell *)cell 
{ 
    cell.contentView.backgroundColor = color; 
    cell.backgroundView.backgroundColor = color; 
    cell.backgroundColor = color; 
} 

Обратите внимание, что мой checkImage имеет прозрачный фон. После выбора ячейки фон моей ячейки меняется на мой customColor, но фон на аксессуаре остается серым. SOS!

ответ

0

Общий консенсус, кажется, что изменение цвета backgroundView ячейки будет влиять аксессуар

Это правильно. Проблема в том, что вы этого не делаете. Вы говорите, что это:

cell.backgroundView.backgroundColor = color; 

Но cell.backgroundView равна нулю, так что линия не имеет смысла. Вам нужно, чтобы дал вашей ячейке фон, прежде чем вы сможете установить цвет этого вида.

+0

Я изменил к этому, и я все еще с такой же вопрос: '- (Недействительными) setCellColor: (UIColor *) цвет forCell: (UITableViewCell *) клетка { UIView * backgroundView = [[UIView Alloc] в этом]; cell.backgroundView = backgroundView; cell.backgroundView.backgroundColor = цвет; cell.contentView.backgroundColor = цвет; cell.backgroundColor = цвет; } ' –

+0

проверьте это. UIView * view = [[UIView alloc] init]; view.backgroundColor = цвет; [cell setSelectedBackgroundView: view]; – Nisha

Смежные вопросы