2016-10-22 8 views
0

Ich versuche, eine Sequenz von Bildern in einer Animation zu laden. Ich halte diese Bilder in den Vermögenswerten (spinner1 zu spinner42) und so bin ich mit:UIImage.animatedImageNamed gibt null zurück

@IBOutlet weak var imageView: WKInterfaceImage! 
    override func didAppear() { 
     super.didAppear() 
     let animatedImage = UIImage.animatedImageNamed("spinner", duration: 10) 
     imageView.setImage(animatedImage) 
    } 
} 

Aber ich bin zurück immer eine Null Bild. Wenn ich spinner1 setze, sehe ich das Bild aber keine Animation. Was ist der richtige Weg, um ein Bild auf WatchKit zu animieren?

+0

Code aktualisiert ... – Joe

Antwort

0

diesen Code Versuchen: Getestet in Swift 3

@IBOutlet var imageView: WKInterfaceImage! 
    override func awake(withContext context: Any?) { 
    super.awake(withContext: context) 

    imageView.setImageNamed("earth") // earth is the image set I'm using for animation. 

    // Use this for Default Settings 
    // imageView.startAnimating() 

    imageView.startAnimatingWithImages(
     in: NSRange(location: 0, length: 40), 
     duration: 7, 
     repeatCount: 1) 
} 

Hinweis: Bild Set Ich verwende, um diesen Code zu testen, der von diesem Link gefunden wurde http://www.ebookfrenzy.com/watchkit/animation_images.zip Sie können dieses Bild für Testzwecke verwenden ...

Ausgabe:

enter image description here

+1

Vielleicht war es nicht klar genug, dass ich die Animation zeigen, in WatchKit, und in diesem Rahmen fehlt WKInterfaceImage sowohl animationImages und animationDuration –

+0

ich dachte. es könnte auf watchKit-Framework funktionieren .. lassen Sie mich sehen. Danke, dass Sie mich wissen lassen ... – Joe

+0

Ich habe den Code gemacht. Ich werde bald hochladen ... Prost – Joe

0

Dies ist die Art, wie ich es tun:

self.imageProgress.setImageNamed("progress") 
    self.imageProgress.startAnimatingWithImagesInRange(NSRange(location:0, length: intPercentageDone), duration: 0.5, repeatCount: 1) 

Ich habe eine Reihe von Bildern "progress1", "PROGRESS2" ... bis zu "progress100"

intPercentageDone ist der Integer-Wert genannt animieren bis zu zB Ich möchte Bilder animieren 1-60 wenn intPercentageDone 60

Der vollständige Code auf GitHub ist bei https://github.com/bravelocation/daysleft/blob/master/daysleft%20WatchKit%20Extension/InterfaceController.swift

0

Was auch die aktualisierte Antwort von joe den richtigen Code ich auch verwendet wird:

@IBOutlet weak var imageView: WKInterfaceImage! 
override func didAppear() { 
    super.didAppear() 
    imageView.setImageNamed("spinner") 
    imageView.startAnimatingWithImages(in:NSRange(location:1, length: 41), duration: 2, repeatCount: 0) 
}