2016-05-02 1 views
2

MISE À JOUR: J'ai fait un XCode 7.3 sample project displaying the problemne peut pas changer la durée des images dynamiques animées dans watchos 2

Question:

Je transfère des trames d'image comme NSData de l'iPhone (Obj-C) à la regarder (Swift) via session:didReceiveMessage:replyHandler:. Les cadres sont initialement demandés par la montre via session.sendMessage(myMessage, replyHandler:). Je convertis ces images en PNG avec UIImage(data: frame) et en ajoutant à un tableau nommé images. J'ai un WKInterfaceImage nommé animationImage où je suis en mesure de charger les images et les afficher comme ceci:

let frames = UIImage.animatedImageWithImages(images, duration: myDuration) 
animationImage.setImage(frames) 
animationImage.startAnimating() 

Le problème est que, peu importe quelle valeur dans myDuration je reçois toujours la même vitesse (ex: super rapide) :

enter image description here

Ces animations affichent correctement dans le téléphone:

enter image description here

Qu'est-ce que je fais mal?

XCode Version 7.3 (7D175) avec iOS 9.0 (objectif de déploiement)

EDIT:

C'est ce que the docs dire en ce qui concerne l'animation d'un watchos WKInterfaceImage:

Pour les animations que vous générez dynamiquement, utilisez la méthode animatedImageWithImages:duration: de UIImage pour assembler votre animation dans votre extension WatchKit, puis définissez cette animation en utilisant la méthode setImage:.

Répondre

3

Je ne peux pas expliquer pourquoi startAnimating() de WKInterfaceImage n'utilise pas la durée de l'animation image, mais il semble animer de manière appropriée lors de l'utilisation de ceci:

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

Set durée de l'animation à imageView comme,

animationImage.animationDuration = myDuration 

Espérons que cela aidera :)

+0

watchOS 'WKInterfaceImage' n'a pas cette propriété. J'obtiens: 'La valeur du type 'WKInterfaceImage' n'a aucun membre 'animationDuration''. per [les docs] (https://developer.apple.com/library/watchos/documentation/WatchKit/Reference/WKInterfaceImage_class/#//apple_ref/doc/uid/TP40014959-CH1-SW5): Pour les animations que vous générez dynamiquement, utilisez la méthode 'animatedImageWithImages: duration:' de 'UIImage' pour assembler votre animation dans votre extension WatchKit, puis définissez cette animation en utilisant la méthode' setImage: '. – mga