【问题标题】:Animate the change of a stroke color on UIView动画 UIView 上笔触颜色的变化
【发布时间】:2009-10-23 16:43:55
【问题描述】:

我想在我在 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;
    }
}

如果我在视图上设置NeedsDisplay,我只能看到更改。但这绕过了动画。如果这是不可能的,我可以想到一些解决方法,比如用正确的颜色覆盖另一个半透明视图,然后将其淡入......但出于某种原因,我认为动画颜色属性可能的在可可?!?也许我错了。希望你们中的一个人可以让我直截了当。

【问题讨论】:

    标签: cocoa-touch uiview core-animation


    【解决方案1】:

    您绝对可以使用 UIView 为颜色属性设置动画,但在您现在处理的上下文中它并没有真正意义。

    drawRect: 中,当您描画路径时,您实际上是在绘制一种颜色,这些位只会被传送到屏幕上。那时,颜色实际上并不是视图的属性,而是绘画的一部分。

    我编写了一个 UIView,在今年夏天(模拟“通话中”状态栏)通过创建两个 UIView 堆栈,并为它们的 color 属性设置动画。

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-15
      • 2014-01-19
      • 1970-01-01
      • 2013-08-15
      相关资源
      最近更新 更多