繁体   English   中英

如何设置UITextField的边框颜色的动画?

[英]How do I animate changing the border colour of a UITextField?

我从这个问题推断出以下内容应该可以动画化UITextField边框的颜色变化:

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

但事实并非如此,边框会立即更改颜色。 我在做什么错很明显吗?

更新:好的,所以尝试以下隐式动画

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

而且这也不会产生动画效果,具有相同的效果:它会立即改变颜色(顺便说一句,layer.borderColor的kCATransactionAnimationDuration的默认值在哪里?)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM