gpt4 book ai didi

swift - UIView.animate 和 CGRect 不起作用 - Swift 4

转载 作者:行者123 更新时间:2023-11-28 11:59:26 25 4
gpt4 key购买 nike

我正在制作这个应用程序,当你按下一个按钮时,角色会上升,然后它会下降。(我希望它表现得像这样:当它被按下时,它必须上升 200y,然后它开始下降)这是我的代码:

import UIKit

class ViewController: UIViewController {

@IBOutlet weak var TheCharacter: UIImageView!
@IBOutlet weak var TheRocket: UIImageView!

@IBAction func TheCharacterJumps(_ sender: Any) {

let TheCharacterY = self.TheCharacter.frame.origin.y
UIView.animate(withDuration: 0.35, animations: {
self.TheCharacter.frame = CGRect(x: 167, y: TheCharacterY - 194, width: 40, height: 40)
}) { (finished) in

}
UIView.animate(withDuration: 2, animations: {
self.TheCharacter.frame = CGRect(x: 167, y: TheCharacterY + 435, width: 40, height: 40)
}) { (finished) in

}
}
}

所以它是这样的:按下按钮时,角色上升,然后开始下降。但是当按钮连续按下两次或更多次时,它不会上升 200 年,而只会上升 50 年。我怎样才能防止这种情况发生?

最佳答案

如果你想要一个“飞扬的”动画,你应该使用动态动画师并为场景添加引力并为元素添加力。然后 UIKit 会计算动画。

Apple 文档是:UIDynamicAnimator .

在这种情况下,每次按下按钮/屏幕时都会向 View 添加一些向上的力,它会自行上升并在失去速度后开始下降。

看Ray Wenderlich教程:click

关于swift - UIView.animate 和 CGRect 不起作用 - Swift 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50355760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com