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