使用 tvOS 实现基本动画
Implementing basic animations with tvOS
我希望有人可以帮助我理解为什么我的 tvOS 动画不是 运行。
在我的代码中有一个这样的函数:
func testAnimation() {
clockLabel.alpha = 0.0
UIView.animateWithDuration(1.0, animations: {
self.clockLabel.alpha = 1.0
})
}
我正在从我的 viewDidLoad()
中调用 testAnimation()
,但似乎没有任何动画发生。
我测试了几种不同类型的动画,从位置到不透明度,但似乎没有动画在模拟器中实际运行过。
此时,我的应用程序没有焦点。我想要做的就是加载一个空白 UIView
,中间有一个标签淡入。
我可以确认这种行为,因为我也遇到过这种情况。我做的是设置延迟0.1(afterDelay:),它是"good enough"
另一方面,DID 的实际工作是为我的视图设置转换。例如。 (尽管是对象):
CGAffineTransform scaleTransform = CGAffineTransformMakeScale(0.5,0.5);
[UIView animateWithDuration: 0.5 animations:^{
_myView.transform = scaleTransform;
} completion: nil]
可能是 tvOS 的一个错误
您正试图在 UILabel
显示之前对其进行动画处理。将动画从 viewDidLoad()
移动到 viewDidAppear()
。
尝试使用 UIView 动画,像这样 (Swift):
clockLabel.alpha = 0
UIView.animateWithDuration(0.5, delay: 0.0, options: .Linear, animations: {
self.clockLabel.alpha = 1.0
}, completion: { finished in
// you may add some code here to make another action right after the animation end, or just delete this comment :)
})
这对我们有效。
我希望有人可以帮助我理解为什么我的 tvOS 动画不是 运行。
在我的代码中有一个这样的函数:
func testAnimation() {
clockLabel.alpha = 0.0
UIView.animateWithDuration(1.0, animations: {
self.clockLabel.alpha = 1.0
})
}
我正在从我的 viewDidLoad()
中调用 testAnimation()
,但似乎没有任何动画发生。
我测试了几种不同类型的动画,从位置到不透明度,但似乎没有动画在模拟器中实际运行过。
此时,我的应用程序没有焦点。我想要做的就是加载一个空白 UIView
,中间有一个标签淡入。
我可以确认这种行为,因为我也遇到过这种情况。我做的是设置延迟0.1(afterDelay:),它是"good enough"
另一方面,DID 的实际工作是为我的视图设置转换。例如。 (尽管是对象):
CGAffineTransform scaleTransform = CGAffineTransformMakeScale(0.5,0.5);
[UIView animateWithDuration: 0.5 animations:^{
_myView.transform = scaleTransform;
} completion: nil]
可能是 tvOS 的一个错误
您正试图在 UILabel
显示之前对其进行动画处理。将动画从 viewDidLoad()
移动到 viewDidAppear()
。
尝试使用 UIView 动画,像这样 (Swift):
clockLabel.alpha = 0
UIView.animateWithDuration(0.5, delay: 0.0, options: .Linear, animations: {
self.clockLabel.alpha = 1.0
}, completion: { finished in
// you may add some code here to make another action right after the animation end, or just delete this comment :)
})
这对我们有效。