0

Мое приложение отображает сгруппированные статические UITableViews на разных экранах. Есть в любом случае использовать внешний вид проксиИзменение цвета фона выбранных UITableViewCells в iOS5

[UITableView appearance] 

или

[UITableViewCell appearance] 

настроить цвет фона для выбранных ячеек? В принципе мне нужно изменить

cell.selectedBackgroundView.backgroundColor 

для каждой ячейки в моем приложении, но я не могу найти право собственности необходимо установить в объекте прокси.

КСТАТИ я попытался также нормальный подход (будучи групповой статической таблицы):

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

    cell.selectedBackgroundView.backgroundColor = [UIColor yellowColor]; 

} 

, но он не работает. Любое предложение?

ответ

7

Вам необходимо предоставить представление selectedBackgroundView. Там уже никого нет. Попробуйте:

cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.bounds] ; 
cell.selectedBackgroundView.backgroundColor = [UIColor yellowColor] ; 

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

+0

что делать, если вы перетащите и выберите другую ячейку ??? это не кажется правильным ответом. –

+0

-tableView: cellForRowAtIndexPath: влияет на все ячейки. – leftspin

+0

, что я имел в виду, выбранная часть просмотра фона изменит цвет выбранной ячейки. однако сама ячейка отменяет выбор во время перетаскивания. Дополнительное примечание для вас, хорошей практикой является применение любого вида предвидного эффекта в ячейке с использованием метода делегата 'willDisplayCell'. –

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

  • Нет связанных вопросов^_^