如何在 watchkit 的连续范围内制作动画?
How to make animate in continue range in watchkit?
我在 WKInterfacecontroller 上有一张图片。我有 10 个图像帧(frame_0.png 到 frame_9.png)
通常情况下,当我们想要使该图像具有动画效果时,我们可以简单地这样做:
stopWatchAnimateImage.setImageNamed("frame_")
stopWatchAnimateImage.startAnimating()
或者我们可以使用 Range:
制作动画
stopWatchAnimateImage.setImageNamed("frame_")
stopWatchAnimateImage.startAnimatingWithImagesInRange(NSMakeRange(0, 9) , duration: 10 , repeatCount: 0)
但现在我希望我的图像从 frame_3 开始动画,并在图像 运行 之后继续制作动画 frame_9
(我的图像将从第 3 -4 -5 帧 运行 ....到第 9 帧,依此类推继续到 0 -1 - 2- 3..)
我怎样才能做到这一点?
我已经试过了:
stopWatchAnimateImage.startAnimatingWithImagesInRange(NSMakeRange(3, 9) , duration: 6 , repeatCount: 0)
但不工作,这个:
stopWatchAnimateImage.setImage(UIImage(named: "frame_3"))
stopWatchAnimateImage.startAnimating()
但是我的图像变成了空白。
在检查了一些解决方案之后,我们终于可以像这样简单地解决这个问题:
制作一个带有范围的动画并制作延迟时间,之后我们可以继续制作这样的动画:
stopWatchAnimateImage.setImageNamed("frame_")
stopWatchAnimateImage.startAnimatingWithImagesInRange(NSMakeRange(3, 9) , duration: 7 , repeatCount: 1)
dispatch_after(dispatch_time(
DISPATCH_TIME_NOW,
Int64(7 * Double(NSEC_PER_SEC))
), dispatch_get_main_queue(), { () -> Void in
self.stopWatchAnimateImage.startAnimating()
})
我在 WKInterfacecontroller 上有一张图片。我有 10 个图像帧(frame_0.png 到 frame_9.png)
通常情况下,当我们想要使该图像具有动画效果时,我们可以简单地这样做:
stopWatchAnimateImage.setImageNamed("frame_")
stopWatchAnimateImage.startAnimating()
或者我们可以使用 Range:
制作动画stopWatchAnimateImage.setImageNamed("frame_")
stopWatchAnimateImage.startAnimatingWithImagesInRange(NSMakeRange(0, 9) , duration: 10 , repeatCount: 0)
但现在我希望我的图像从 frame_3 开始动画,并在图像 运行 之后继续制作动画 frame_9
(我的图像将从第 3 -4 -5 帧 运行 ....到第 9 帧,依此类推继续到 0 -1 - 2- 3..) 我怎样才能做到这一点? 我已经试过了:
stopWatchAnimateImage.startAnimatingWithImagesInRange(NSMakeRange(3, 9) , duration: 6 , repeatCount: 0)
但不工作,这个:
stopWatchAnimateImage.setImage(UIImage(named: "frame_3"))
stopWatchAnimateImage.startAnimating()
但是我的图像变成了空白。
在检查了一些解决方案之后,我们终于可以像这样简单地解决这个问题: 制作一个带有范围的动画并制作延迟时间,之后我们可以继续制作这样的动画:
stopWatchAnimateImage.setImageNamed("frame_")
stopWatchAnimateImage.startAnimatingWithImagesInRange(NSMakeRange(3, 9) , duration: 7 , repeatCount: 1)
dispatch_after(dispatch_time(
DISPATCH_TIME_NOW,
Int64(7 * Double(NSEC_PER_SEC))
), dispatch_get_main_queue(), { () -> Void in
self.stopWatchAnimateImage.startAnimating()
})