gpt4 book ai didi

ios - 快速动画文本标签

转载 作者:搜寻专家 更新时间:2023-11-01 06:39:39 24 4
gpt4 key购买 nike

我正在尝试在 Swift 中为文本标签(称为标签)制作动画,但它不起作用。没有错误,只是原地踏步。这是我在 ViewDidLoad 中的代码:

label.text = savedText
label.center = CGPoint(x:50, y:10)

UIView.animateWithDuration(1.0, delay: 1.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 0.0, options: .CurveLinear, animations: { () -> Void in
self.label.center = CGPoint(x:100, y:70)
}, completion: nil)

我不太确定为什么它不起作用,因为我遵循了教程,但我们将不胜感激!

最佳答案

我认为问题在于 viewDidLoad 在您的 View 可见之前被调用,因此动画会立即发生。

尝试将此添加到您的代码中:

override func viewDidAppear(animated: Bool) {
if label.center != CGPoint(x:50, y:10) {
UIView.animateWithDuration(1.0, delay: 0.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 0.0, options: .CurveLinear, animations: { () -> Void in
self.label.center = CGPoint(x:100, y:70)
}, completion: nil)
}
}

if 语句阻止标签在每次 View 出现在屏幕上时都进行动画处理,而不是仅在第一次(最初加载 viewController 时)进行动画处理。如果您希望它每次都发生,只需将其删除即可。

附言我还删除了延迟,因为我认为这是为了阻止错误的发生(在教程中)

关于ios - 快速动画文本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149023/

24 4 0