[英]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.