2012-03-09 3 views
1

Когда ячейка выбрана из вида таблицы, мне бы хотелось, чтобы цвет фона ячейки изменился с белого (или четкого) на черный, и я хотел бы, чтобы изменение цвета было анимированным. Это возможно?Анимация изменения цвета фона uitableviewcell

Я знаю, что некоторые трюки необходимы, чтобы изменить цвет фона ячейки uitableview, и я их понимаю по большей части, но я хотел бы сделать это на один шаг дальше и оживить изменение цвета фона ячейки. Я предполагаю, что это будет сделано в методе didSelectRowAtIndexPath:.

+0

Это для 'UILabel', но оно должно получить точку пересечения. [Http://stackoverflow.com/a/3947389/716216](http://stackoverflow.com/a/3947389/716216) –

ответ

0

Хорошо, насколько я знаю, мы не можем изменить цвет. Что мы можем сделать, это сыграть трюк, чтобы изменить цвета с помощью таймера. Идея состоит в двух цветах: startColor и endColor, можно легко найти промежуточные цвета (скажем, 20). И затем, используя NSTimer, мы можем установить свойство цвета для каждого цвета после регулярных интервалов. Таким образом, мы можем иметь плавный переход/анимацию от startColor до endColor.

Если кому-то нужен код, я также могу предоставить код для этого.

3
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.8]; 
    [self.tableView cellForRowAtIndexPath:indexPath].imageView.alpha = 1.0; 
    [self.tableView cellForRowAtIndexPath:indexPath].backgroundColor=[UIColor redColor]; 

    [UIView commitAnimations]; 
} 

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

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