gpt4 book ai didi

swift - 在 Swift 中按下按钮时将对象重置为固定 (x,y) 坐标

转载 作者:行者123 更新时间:2023-11-30 12:24:20 26 4
gpt4 key购买 nike

我有一个填满屏幕的框和一个按钮。当我按下按钮时,我希望盒子慢慢向下移动,直到不再可见。如果在此动画期间按下按钮,我希望按钮返回到其原始位置,并恢复动画。我有以下代码:

@IBOutlet weak var backgroundthing: UIView!

@IBAction func button(_ sender: UIButton) {

UIView.animate(withDuration: 0.0, animations: {self.backgroundthing.frame.origin.y = 0}, completion: nil)

UIView.animate(withDuration: 4.0, animations: {self.backgroundthing.frame.origin.y = 667}, completion: nil)

}

如果我按一次按钮,它就会“正常”工作,并且该框需要 4 秒才能离开屏幕。但是,如果我在动画结束之前按下按钮,该框将捕捉到比其原始位置更高的位置。例如,如果我在盒子仅一半离开屏幕时按下按钮,它将捕捉到顶部,盒子的一半位于屏幕上方以恢复向下滑动。我正在寻找的代码会将盒子捕捉到其原始位置,因此无论我按下按钮的速度有多快或多少次,它都不会高于其原始位置。

最佳答案

先停止动画,重置 block ,开始新的动画:

@IBAction func button(_ sender: UIButton) {
backgroundthing.layer.removeAllAnimations()
backgroundthing.frame.origin.y = 0
UIView.animate(withDuration: 4.0) {
self.backgroundthing.frame.origin.y = 667
}
}

关于swift - 在 Swift 中按下按钮时将对象重置为固定 (x,y) 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44379641/

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