Mam animację UIView, którą muszę anulować w aplikacji na iOS. Próbowałem tego:Anulowanie animacji UIView - self.view.layer removeAllAnimations nie działa
[self.view.layer removeAllAnimations];
Ale to nie zadziałało. Animacja była kontynuowana. Oto mój kod animacji:
[UIView animateWithDuration:1.4 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
recognizer.view.transform = CGAffineTransformTranslate(recognizer.view.transform, translation.x, translation.y);
} completion:^(BOOL finished) {
NSLog(@"completed animation, now do whatever");
}];
Czy ktoś ma pomysły, dlaczego nie działa?
możliwość dodawania animacji do tej Rozpoznawania pogląd, stąd trzeba będzie usunąć go z warstwą tego samego widoku za. Więc zamiast [self.view.layer removeAllAnimations] możesz chcieć [recoger.view.layer removeAllAnimations]. – Till
Witam. Dzięki - coś się teraz dzieje, ale to wprowadza kolejny problem. Trwa animacja do końca, natychmiast ją zatrzymując. Chcę, aby zatrzymał się w bieżącej pozycji - pozycja, w której się znajduje, kiedy chcę zatrzymać animację - a nie skakać do końca. Czy można to zrobić tak? –
Sprawdź "recognise.view.layer.presentationLayer". Będzie miał środkową transformację, po prostu ustawi ją na bieżącej warstwie: 'recogna.view.layer.transform = recognition.view.layer.presentationLayer.transform;' ... Może potrzebować więcej pracy. – Mazyod