我想在我在UIView的drawRect中绘制的路径上“脉动”笔触颜色。但不确定这是可能的吗?
- (void)highlightView {
if (!isHighlighted) {
[UIView beginAnimations:NULL context:nil];
[UIView setAnimationDuration:0.75];
self.strokeColor = kHighlightColor;
self.strokeWidth = 2.0;
[UIView commitAnimations];
self.isHighlighted = YES;
}
}
如果我在视图上设置了NeedNeisDisplay,我只能看到更改。但那绕过了动画。我可以想到一些解决方法,如果这是不可能的,比如用适当的颜色覆盖另一个半透明视图并且只是将其淡化......但出于某种原因,我认为动画颜色属性是可能的在可可?!?也许我错了。希望你们中的一个能够让我直截了当。
答案 0 :(得分:1)
你绝对可以使用UIView为颜色属性设置动画,但它在你正在处理的上下文中并没有意义。
在drawRect:
中,当你描绘一条路径时,你基本上是绘制一种颜色,这些位只会在屏幕上显示。在这一点上,颜色实际上不是视图的属性,而是绘画的一部分。
我写了一个UIView,它在今年夏天发出了脉冲(模仿“In Call”状态栏),通过在彼此顶部创建两个UIViews堆栈,并为它们的color
属性设置动画。