iphone - 尝试在 uilabel 上设置背景颜色动画以实现 'fade' 效果,但它会立即应用

标签 iphone objective-c animation uiview

我正在尝试为 uilabel 上的背景颜色设置动画以实现“淡入淡出”效果。我的代码如下所示:

UILabel *lbl = ...
UIColor *oldCol = lbl.backgroundColor;
lbl.backgroundColor = [UIColor blueColor];
[UIView animateWithDuration:1.0 animations:^(void) {
    lbl.backgroundColor = oldCol;
}];

但它会立即恢复到原来的颜色。我还尝试了以下方法来隔离问题:

lbl.backgroundColor = [UIColor blueColor];
[UIView animateWithDuration:1.0 animations:^(void) {
    lbl.backgroundColor = [UIColor greenColor];
}];

它立即变为绿色。有什么想法吗?

最佳答案

UILabel 的背景颜色不可设置动画。参见 How to animate the background color of a UILabel?寻找可能的解决方法。

关于iphone - 尝试在 uilabel 上设置背景颜色动画以实现 'fade' 效果,但它会立即应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5958466/

相关文章:

ios - if 条件在 swift ios 的 json 响应中

objective-c - 有没有一种方法可以自定义UISearchDisplayController单元格

c - 无限动画正弦波

ios - 为什么 UIViewController 的 'view' 属性在 Swift 中不是可选的?

iphone - Storyboard和 View 转换

iphone - 内存高效集合类

ios - 如何避免小时数被标记为日历链接?

ios - Firebase 运行时崩溃 - FIRInstanceIDConfig

css - 加载页面时如何使用自定义图像为鼠标光标设置动画?

c++ - 如何在OpenGL中处理纹理动画?