如何动画更改UITextField的边框颜色?

时间:2011-11-29 13:11:05

标签: ios ios5 uitextfield

我从this问题推断出以下内容应该为我的UITextField边框的颜色变化设置动画:

        [UIView animateWithDuration:5.0f animations:^() {
            myUITextField.layer.borderColor = [UIColor greenColor].CGColor;
        }];

但事实并非如此,边框会瞬间变色。我做错了很明显吗?

更新:好的,请尝试以下implicit animation

        [CATransaction begin];
        [CATransaction setValue:[NSNumber numberWithFloat:5.0f] forKey:kCATransactionAnimationDuration];
            myUITextField.layer.borderColor = [UIColor greenColor].CGColor;
        [CATransaction commit];

这也没有动画,效果相同:它会立即改变颜色(另外,对于layer.borderColor记录的kCATransactionAnimationDuration的默认设置在哪里?)

1 个答案:

答案 0 :(得分:6)

我认为CALayer属性在UIView动画块中无法生成动画。您需要设置CABasicAnimation并将该动画添加到图层中。