0
私は画面を塗り潰すボックスとボタンを持っています。ボタンを押すと、ボックスが見えなくなるまでゆっくりと下に移動します。このアニメーション中にボタンを押すと、ボタンを元の位置に戻してアニメーションを再開します。スウィフトでボタンを押したときに固定(x、y)座標にリセットするオブジェクトを取得
@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秒かかる:私は、次のコードを持っています。ただし、アニメーションが終了する前にボタンを押すと、ボックスは元の位置よりも高い位置にスナップされます。たとえば、ボックスが画面の半分にすぎない間にボタンを押すと、画面上の半分のボックスが上にスナップし、画面の上の半分が滑り落ちを再開します。私が探しているコードは、その元の位置にボックスをスナップするので、どれくらい速く何回ボタンを押しても、元の位置よりも高くならないでしょう。