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) :
Ces animations affichent correctement dans le téléphone:
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:
deUIImage
pour assembler votre animation dans votre extension WatchKit, puis définissez cette animation en utilisant la méthodesetImage:
.
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