Wiemy, że UIImageView
ma bardzo dobre wsparcie dla animacji sekwencji obrazów. Możemy łatwo utworzyć tablicę obiektów UIImage, ustawić właściwość animationImages
, skonfigurować czas trwania animacji, liczbę powtórzeń itp., A następnie po prostu odpalić. Ale wydaje się, że nie sposób dowiedzieć się, kiedy ta animacja się skończyła.iPhone: Najlepszy sposób na wykrycie końca sekwencji animacji obrazów UIImageView
Powiedz, że mam dziesięć zdjęć, a następnie chcę uruchomić z nimi animację (powtórz liczbę = 1). A kiedy animacja się skończy, chcę uruchomić inny kod. Jaki jest najlepszy sposób na stwierdzenie, że animacja się skończyła?
Rozumiem już, że mogę utworzyć NSTimer
i zaplanować jego uruchomienie po czasie trwania animacji. Ale naprawdę nie możesz polegać na timerze, jeśli potrzebujesz dobrej precyzji.
Moje pytanie brzmi: czy istnieje lepszy sposób na stwierdzenie, że animacja sekwencji obrazów UIImageView
została zakończona bez korzystania z licznika czasu?
Kod jest coś takiego
myImageView.animationImages = images; // images is a NSArray of UIImages myImageView.animationDuration = 2.0; myImageView.animationRepeatCount = 1; [myImageView startAnimating]
edytowany za pomocą przykładowego kodu – taskinoor
Czy próbowałeś już używać timera? To prawda, że czas nie jest w 100% dokładny, ale AFAIK nie może polegać na taktowaniu innych animacji. Nie zdziwiłbym się, gdyby wbudowana animacja UIImageView korzystała z samego timera. –
ya próbowałem timer. w rzeczywistości to właśnie teraz używam. to jest dobre dla wielu przypadków, ale dobrze ... nie 100% :-) – taskinoor