如何(重复)不使用图像的WKInterfaceGroup动画

时间:2019-04-08 21:02:02

标签: swift watchkit

我有一个非常简单的动画,所以自然而然地我试图避免图像序列和SpriteKit。

我只是将WKInterfaceGroup背景设置为绿色。我希望它反复淡入和淡出alpha 1.0到0.2和0.2到1.0。称其为脉冲或任何您想要的。

我可以使用以下方法淡出它: self.animate(withDuration: 1.0) { row.circleBG.setAlpha(0.2) }

但是如何将其淡入并无限重复整个动画?

即使我创建了单独的淡出和淡入功能,也无论如何都只会执行第一个调用,因此也不起作用。即使它奏效,也不会重复。

我能找到的唯一重复方法需要这样的图像序列范围。 row.circleBG.startAnimatingWithImages(in: (need image range), duration: 1.0, repeatCount: 100)但我没有使用图像。

我当然可以使用绿色圆圈图像和黑色圆圈图像,但这似乎是不必要的并且很笨拙。

尝试过类似的操作,但实际上不会重复,因此我需要使用fadingin + fadeout才能作为一个动画一起重复。脉冲淡入/淡出并重复。

我也只能访问row.ringStatus.购买创建for (index, value) in。我想避免这段代码重复。

var pulseTimer: Timer!
pulseTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(pulse), userInfo: nil, repeats: true)

  @objc func pulse() {

    for (index, value) in self.messageObject.enumerated() {
        guard let row = messagesTable.rowController(at: index) as? MessageListRowController else { continue }

        DispatchQueue.main.async {

            row.ringStatus.setBackgroundColor(.green)
            row.ringStatus.setAlpha(1.0)
            row.ringStatus.setAlpha(0.2)


        }
    }
}

0 个答案:

没有答案