Wie zu warten, bis die animation fertig in Swift?
Ich versuche, lassen Sie die Taste "schütteln", bevor die nächste Frage, mein quiz wird geladen.
Die animation sieht aus wie
var timer = NSTimer()
UIView.animateWithDuration(0.1, animations: {
self.IMGVIEWcat.center = CGPointMake(self.IMGVIEWcat.center.x + 2, self.IMGVIEWcat.center.y)
})
UIView.animateWithDuration(0.2, animations: {
self.IMGVIEWcat.center = CGPointMake(self.IMGVIEWcat.center.x - 4, self.IMGVIEWcat.center.y)
})
UIView.animateWithDuration(0.3, animations: {
self.IMGVIEWcat.center = CGPointMake(self.IMGVIEWcat.center.x + 2, self.IMGVIEWcat.center.y)
})
Danach die folgende Funktion wird aufgerufen,
func QueryInformations(){
println("QueryInformationsStart")
self.ActivityIndicator.hidden = false
ObjectIDsArrayCount = ObjectIDsArray.count
var RandomQuestion = Int(arc4random_uniform(ObjectIDsArray.count + 0))
var QuestionID:String = ObjectIDsArray[RandomQuestion]
var query : PFQuery = PFQuery(className: "AddonQuiz")
query.getObjectInBackgroundWithId(QuestionID){
(ObjectHolder : PFObject!, error : NSError!) -> Void in
...
Nun die animation beginnt aber sofort die nächste Frage geladen wird, gibt es einige einfach warten, für einen Anfänger zu implementieren, die eine "zu warten," bis die animation fertig ist?
Ich versuchte, zu
var complet == true
In der animation
Werden und in der query-Funktion
if complet = true {....
Aber das hat nicht funktioniert für mich, auch fand ich einige Informationen über den Abschluss-handler-aber es nicht in meinem code.
if complet = true {...}
ist nicht das, was Sie verwenden möchten. Verwenden if complet == true {...}
statt. Übrigens sollten Sie nur verwenden, die completion
- block an das Ende der animation.stimmt 😉 im code == aber seine immer noch nicht helfen
InformationsquelleAutor Fabian Boulegue | 2015-02-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, verwenden Sie die
completion
- block an das Ende der animation, die Sie verwenden sollten Konstrukte mit derdelay
undoptions
Argumente als gut.Sorry, versuchen Sie es erneut. Ich bearbeitet den code.
danke, funktioniert jetzt :)!
Froh, dass Sie es geschafft habe! es ist wirklich wichtig, dass Sie verstehen, die
options: nil
block. Stattnil
könnten SieUIViewAnimationOptions.CurveLinear
oderUIViewAnimationOptions.CurveEaseOut
. Diese Einstellungen zu ändern, wie die animation verhält. Wenn Sie die Letzte die animation startet schnell und es wird sich verlangsamen, wie die animation abgeschlossen ist.Was meinst du UIViewAnimationOptions.CurveLinear oder UIViewAnimationOptions.CurveEaseOut
InformationsquelleAutor Cesare
Verwenden Sie die
completion
block auf die Funktion, die Sie aufrufen:Es sollte nicht sein. Gerade von developer.apple.com/library/ios/documentation/UIKit/Reference/...:
InformationsquelleAutor Ian MacDonald