Hier habe ich einen Code, um eine UIView mit einem Label als Benachrichtigung anzuzeigen.Kann ich ein Element zwingen, seine Animation sofort zu beenden?
self.not1cons.constant = 0
self.notificationLbl1.text = self.notification1
UIView.animate(withDuration: 2.5, delay: 0.3, options: .allowAnimatedContent, animations: {
self.view.layoutIfNeeded()
}, completion: { finsihed in
self.not1cons.constant = -100
UIView.animate(withDuration: 2.5, delay: 2.0, options: .allowAnimatedContent, animations: {
self.view.layoutIfNeeded()
}, completion: { finshed in
})
})
Es beginnt Off-Screen und steigt in Sicht. Es bleibt für einige Sekunden an Ort und Stelle und kehrt zu seiner ursprünglichen Position außerhalb des Bildschirms zurück. Ich benötige Code, damit diese verketteten Animationen sofort ausgeführt werden können. Ist das möglich?
Sie fügen eine 'Verzögerung' von' 2.0' hinzu und beschweren sich dann, dass es eine Verzögerung gibt? – matt
Was genau meinen Sie mit "sofort passieren"? Wissen Sie im Voraus, dass Sie die Animationen sofort beenden möchten oder möchten Sie die Animationen mitten in der Animation abbrechen? – nathan
Es ist irgendwie unklar, wenn ich es richtig verstanden habe, stimme ich @matt Note, warum Sie Verzögerung für die zweite Animation hinzufügen? –