我是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坐标的动画,我会跳到我希望它去的地方,然后动画回到原来的位置,我会得到相同的行为
答案 0 :(得分:0)
我刚刚解决了 - 布局无效,所以如果我在动画之前调用layoutIfNeeded(),它会将所有内容排序,然后标签按预期动画:
self.view.layoutIfNeeded()
UIView.animateWithDuration(1, animations: { () -> Void in
self.winMessageLabel.alpha = 1
self.view.layoutIfNeeded()
})