【发布时间】:2016-11-01 03:37:41
【问题描述】:
所以我想为一些 UILabel 的文本颜色更改动画。我取得了喜忧参半的成功。
我最终要做的一件事是在 Swift Playground 中使用 Xcode 8 进行尝试。运行动画的最简单形式是:
UIView.animate(withDuration: 5.0) {
label.textColor = UIColor.red
label.transform = CGAffineTransform(scaleX: 2, y: 2)
}
但是,当我将相同的代码插入到一个空的 (Swift) iOS 项目中时,文本颜色不再是动画的。
我知道 UILabel textColor 属性不应该是动画的,但在这里它是动画的。关于发生了什么的任何线索?也许与 PlaygroundSupport 模块有关?
这是在 Playground 中观看的动画:
这是在模拟器中绘制的动画:
编辑:添加动画以更好地阐明发生了什么
【问题讨论】:
-
将您的标签背景颜色设置为绿色并运行项目。您可以看到您的标签并确保您的标签有一些文本要显示,然后将您的代码复制并粘贴到 viewDidLoad 或按钮内行动并再次运行该项目......这应该工作......
-
如果您仍然无法找到答案。您能否发布您的故事板层次结构...问题可能来自您的 IBOutlet
-
@Joe 我没有任何麻烦看到 UILabel,甚至修改它。问题是它不会动画。尽管动画应该持续 5 秒,但它只会立即改变。如果我添加位置更改/应用转换,则在指定的时间段内动画效果很好。只有 textColor 动画部分引起了所有的悲伤。我不明白为什么它可以在 Playground 中工作,而不是在项目中。我也很担心/困惑为什么它也对你有用。
-
你在模拟器或真实设备上尝试......但是 5 秒很容易看到动画或对其应用一些动画启动延迟......
-
检查我的更新......
标签: ios iphone swift animation swift-playground