Как изменить выбранный цвет ячейки

#iphone #objective-c

#iPhone #objective-c

Вопрос:

Я работаю над приложением, в котором данные поступают с сервера после синтаксического анализа, и показываю эти данные, такие как заголовок, title и image в пользовательской tableview ячейке, которые имеют изображение ячейки [градиентное изображение], и эти изображения генерируются динамически. Я хочу изменить цвет фона изображения [оранжевый цвет] после выбора для перехода к другому viewcontroller классу.

Ответ №1:

Hii,

используйте

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

для изображения :

 cell.selectedBackgroundView = [[[UIImageView alloc] init] autorelease];

UIImage *img  = [UIImage imageNamed:@"yourImage.png"];
    ((UIImageView *)cell.selectedBackgroundView).image = img;
  

для цвета :

 cell.selectedTextColor = [UIColor yourcolor]
  

Ответ №2:

В

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  

способ

Редактировать: вы можете сделать

 CustomTableCell *cell = (CustomTableCell *)[table cellForRowAtIndexPath:indexPath];
UIView *backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
backView.backgroundColor = [UIColor orangeColor];
cell.backgroundView = backView;
  

или что еще с этой ячейкой.

Комментарии:

1. Для этого я бы перезаписал метод — (void)setSelected:(BOOL)selected animated:(BOOL)animated ячейки табличного представления…

Ответ №3:

я думаю, что лучший способ — это:

 UIView *view = [UIView alloc] initWithFrame:CGRectMake(0 ,0 , cell.frame.size.width, cell.frame.size.height]);
view.backgroundColor = ....;

cell.selectedBackgroundView = view;