无法更改watchOS 2中动画动态图像的持续时间

时间:2016-05-02 05:43:32

标签: ios objective-c swift uiimage watch-os-2

更新:我制作了一个XCode 7.3 sample project displaying the problem

问题:

我正在通过class MyThread(Build): def __init__(self): ''' Constructor. ''' Build.__init__(self) self.val = val # this allows your class to be a callable. def __call__(self, val): for i in range(1, val): print('Value %d in thread %s' % (i, self.getName())) # Sleep for random time between 1 ~ 3 second secondsToSleep = randint(1, 5) print('%s sleeping fo %d seconds...' % (self.getName(), secondsToSleep)) time.sleep(secondsToSleep) # Run following code when the program starts if __name__ == '__main__': # Declare objects of MyThread class myThreadObj1 = MyThread() myThread1 = Thread(target=myThreadOb1, args=(4)) myThread1.start() 将图像帧从NSData从iPhone(Obj-C)传输到手表(Swift)。手表最初通过session:didReceiveMessage:replyHandler:请求框架。我正在使用session.sendMessage(myMessage, replyHandler:)将这些图像转换回PNG,并附加到名为UIImage(data: frame)的数组中。我有images名为WKInterfaceImage的地方,我可以加载框架并显示它们:

animationImage

问题在于,无论let frames = UIImage.animatedImageWithImages(images, duration: myDuration) animationImage.setImage(frames) animationImage.startAnimating() 中的值是多少,我总能得到相同的速度(即:超快):

enter image description here

这些动画在手机中正确显示:

enter image description here

我做错了什么?

带有iOS 9.0的XCode版本7.3(7D175)(部署目标)

编辑:

这是the docs关于为watchOS myDuration制作动画的说法:

  

对于动态生成的动画,请使用   WKInterfaceImage animatedImageWithImages:duration:组合你的方法UIImage   在WatchKit扩展中动画,然后设置该动画   使用setImage:方法。

2 个答案:

答案 0 :(得分:3)

我无法解释为什么WKInterfaceImage的startAnimating()没有利用动画图像的持续时间,但在使用它时似乎确实有适当的动画:

animationImage.startAnimatingWithImagesInRange(NSMakeRange(0, images.count), duration: myDuration, repeatCount: 0)

答案 1 :(得分:0)

将动画持续时间设置为imageView,

 animationImage.animationDuration = myDuration

希望这会有所帮助:)