Анимация изменения цвета фона uitableviewcell - PullRequest
1 голос
/ 10 марта 2012

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

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

Ответы [ 2 ]

3 голосов
/ 03 октября 2012
- (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];   
}
0 голосов
/ 12 марта 2012

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

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

...