ich den Abschluss Schließung auf dieser UIView Animation erwartet nach der angegebenen Dauer genannt werden, aber es sofort Brennen zu sein scheint ...Swift UIView animateWithDuration Fertigstellung genannt Schließung sofort
UIView.animateWithDuration(
Double(0.2),
animations: {
self.frame = CGRectMake(0, -self.bounds.height, self.bounds.width, self.bounds.height)
},
completion: { finished in
if(finished) {
self.removeFromSuperview()
}
}
)
Hat sonst noch jemand erfahren Dies? Ich habe gelesen, dass andere mehr Erfolg hatten, indem sie das Zentrum anstatt den Rahmen benutzten, um die Ansicht zu verschieben, aber ich hatte auch die gleichen Probleme mit dieser Methode.
Wohin führen Sie diesen Code aus? – akashivskyy
Stellen Sie sicher, dass sich der Rahmen * tatsächlich * ändert, da der Abschlussblock sofort aufgerufen wird, wenn keine Animation vorhanden ist. – akashivskyy
In einer benutzerdefinierten UIView-Klasse. Ich animiere die Ansicht an Stelle in init(), dann wird der obige Code aufgerufen, wenn irgendwo ein Tap auftritt. Der Rahmen ändert sich definitiv auch ... –