gpt4 book ai didi

ios - 在 Swift 中编写一个永远循环的动画

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

我正在使用 Stack Overflow 帖子中的代码片段:How to make "shaking" animation

我将这段代码粘贴到我的项目中,它运行良好:

func shakeView(){
var shake:CABasicAnimation = CABasicAnimation(keyPath: "position")
shake.duration = 0.1
shake.repeatCount = 2
shake.autoreverses = true

var from_point:CGPoint = CGPointMake(LoginField.center.x - 5, LoginField.center.y)
var from_value:NSValue = NSValue(CGPoint: from_point)

var to_point:CGPoint = CGPointMake(LoginField.center.x + 5, LoginField.center.y)
var to_value:NSValue = NSValue(CGPoint: to_point)

shake.fromValue = from_value
shake.toValue = to_value
LoginField.layer.addAnimation(shake, forKey: "position")
}

但是我希望这个动画循环直到另一个函数被调用。如何让它无限循环以及如何让它在调用另一个函数时停止?

最佳答案

首先,设置 repeatCountHUGE_VALF/greatestFiniteMagnitude :

Setting this property to HUGE_VALF will cause the animation to repeat forever.

其次,当您想停止动画时,调用 LoginField.layer.removeAllAnimations()LoginField.layer.removeAnimationForKey("position")

编辑:显然 Swift 不知道 HUGE_VALF,将 repeatCount 设置为 Float.infinity 应该可以。

关于ios - 在 Swift 中编写一个永远循环的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31102932/

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