ios - 按时间间隔重复功能?

标签 ios swift function animation

我有一个功能,可以让图像在我的视野中来回“摇晃”。我可以设置我想要它摇动的时间和速度,但我真正需要的是它每 10 秒摇动一次。

这是我正在使用的函数,只需在 viewDidLoad 中调用一次即可使其运行一次。

    func shakeView(){

    let shake:CABasicAnimation = CABasicAnimation(keyPath: "position")
    shake.duration = 0.4
    shake.repeatCount = 5
    shake.autoreverses = true
    shake.speed = 9.0

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

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

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

我还没有找到我如何能够做到这一点的幸运。任何帮助或指向正确方向的任何帮助将不胜感激。

最佳答案

你需要使用 NSTimer。使用以下代码:

override func viewDidLoad() {
    super.viewDidLoad()
    var helloWorldTimer = NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: Selector("shakeView"), userInfo: nil, repeats: true)
} 

关于ios - 按时间间隔重复功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36258189/

相关文章:

ios - 使用 AFNetworking 加载图像的 UICollectionView 滚动性能

iphone - 检测 iPhone 相机方向

swift - performSegueWithIdentifier 未执行

Swift:如何在不等待进程完成的情况下读取子进程中的标准输出

JavaScript setInterval 在定义函数之前回调?

ios - 带有 App Group 的 NSUserDefault 在 iOS 8 Beta3 中不起作用

iOS RxSwift 如何检查 Result == .success?

macos - 如何从 Storyboard加载初始窗口 Controller ?

c++ - C++函数参数中的"Too Many Initializer Values"

c - 尝试使用函数中的指针传递浮点值时,程序崩溃