使用 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 :)
  })

这对我们有效。