2017-12-10 3 views
0

Ich habe einen UIViewController VC1, der ein UIImageView loadingImg enthält. Wenn Sie von einem vorherigen UIViewController VC0 wechseln, wird animiert. Hier ist ein Code von VC1:UIView wird nicht animiert, nachdem die Tabbar UIViewController ausgewählt hat

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    animate() 
} 

func animate() { 

    UIView.animate(withDuration: 1, delay: 0, options: [.repeat, .curveLinear], animations: { 
     self.loadingImg.transform = CGAffineTransform(rotationAngle: .pi/2) 
    }, completion: nil) 
} 

Ich habe auch eine Tabbar, wo VC0 ist einer der Stammansicht Controller. Sobald VC0 zu VC1 weitergeleitet wurde, wird beim Laden eines anderen Stammansicht-Controllers und anschließendem Laden von loadingImg nicht mehr animiert. Wie kann ich das Animieren von Animationen fortsetzen, auch wenn ich die Tableiste verwende, um zu verschiedenen View Controllern und zurück zu wechseln?

+0

versucht diese beiden Dinge wechseln, weder funktioniert. – Legatro

Antwort

1

Sie benötigen ursprüngliche Position von UIView zu setzen, wenn Sie UIViewController in ViewDidAppear wie unten

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 

    self.loadingImg.transform = .identity 
    self.view.layoutIfNeeded() 
} 

enter image description here

+0

Brilliant, Prost! – Legatro

Verwandte Themen