Animation 迅捷的动画似乎在反向工作

Animation 迅捷的动画似乎在反向工作,animation,swift2,ios9,Animation,Swift2,Ios9,我对iOS/xcode开发非常陌生,我正在尝试做一些非常基本的事情,作为教程练习的一部分,这是在用户完成游戏后淡入UILabel 因此,我在视图加载时隐藏标签: override func viewDidLayoutSubviews() { winMessageLabel.alpha = 0 } 然后在游戏结束后,我试图将其淡出: UIView.animateWithDuration(1, animations: { () -> Void in self.winMess

我对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坐标的动画,它会跳到我希望它去的地方,然后设置回其原始位置的动画,我会得到相同的行为。我刚刚计算出来-布局无效,因此如果我在设置动画之前调用layoutIfNeeded(),它会对所有内容进行排序,然后标签会按预期设置动画:

self.view.layoutIfNeeded()

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