我想要一个 UITableViewCell
(-背景) 短暂亮起红色并再次返回到原来的外观。这是在 NSTimer
的生命周期中完成的这给出了调用动画的持续冲动。
现在我正在使用 UIView 的 animateWithDuration:delay:options:animations:completion:
方法首先将单元格背景颜色更改为红色,然后在完成部分再次将其变为灰色(单元格背景为灰色)。但由于某种原因,这个解决方案并不顺利。
问题:考虑核心动画,我如何最好地为 (a) UITableVeiwCell
制作这种动画? (b) UIButton
?
感谢您的帮助!
最佳答案
animateWithDuration 是核心动画的 UIView 包装器,但您可以尝试稍微降低级别,看看是否有变化。 要在 CALayer 上执行显式 CA 事务,请执行以下操作:
[CATransaction begin];
[CATransaction setAnimationDuration:0.5];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[CATransaction setCompletionBlock:^{ //Your completion block }];
view.layer.backgroundColor = [UIColor whiteColor].CGColor;
[CATransaction commit];
其中 view 是有问题的控件。对于 UIButton 来说,它只是按钮本身,对于 UITableViewCell 来说,它取决于表格是否分组,或者您是否使用自定义 UITableViewCell。分组的表格单元格添加了背景 View 属性。
关于iphone - 如何最好地设置 UITableViewCell 或 UIButton 的动画以重复亮起红色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229829/