Swift动画似乎正在反向

时间:2016-03-23 23:37:24

标签: animation swift2 ios9

我是iOS / xcode开发的新手,我尝试做一些非常基本的操作,作为教程练习的一部分,一旦用户完成游戏,就会淡化UILabel。

所以我在视图加载时隐藏了标签:

override func viewDidLayoutSubviews() {
    winMessageLabel.alpha = 0
}

然后在比赛结束时,我试图将其淡化为:

UIView.animateWithDuration(1, animations: { () -> Void in
     self.winMessageLabel.alpha = 1
     self.view.layoutIfNeeded()
})

但不是淡入淡出,而是以alpha 1出现,然后淡出。如果我尝试设置x / y坐标的动画,我会跳到我希望它去的地方,然后动画回到原来的位置,我会得到相同的行为

1 个答案:

答案 0 :(得分:0)

我刚刚解决了 - 布局无效,所以如果我在动画之前调用layoutIfNeeded(),它会将所有内容排序,然后标签按预期动画:

self.view.layoutIfNeeded()

UIView.animateWithDuration(1, animations: { () -> Void in
     self.winMessageLabel.alpha = 1
     self.view.layoutIfNeeded()
})