当从表格视图中选择一个单元格时,我希望单元格的背景颜色从白色(或透明)变为黑色,我希望颜色的变化能够被动画化。这可能吗?
我知道某些技巧对于改变uitableview单元格的背景颜色是必要的,我在很大程度上理解这些技巧,但我想更进一步,并对单元格背景颜色的变化进行动画处理。我假设这将在didSelectRowAtIndexPath:方法中完成。
答案 0 :(得分: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];
}
答案 1 :(得分:0)
据我所知,我们无法为颜色变化制作动画。 我们能做的是用一个计时器来改变颜色。这个想法是,给定两种颜色,startColor和endColor,可以很容易地找到中间颜色(比方说20)。然后使用NSTimer我们可以在定期间隔后将颜色属性设置为每种不同的颜色。 这样,我们就可以有一个从startColor到endColor的平滑过渡/动画。
如果有人需要代码,那么我也可以为此提供代码。