Buduję scenę z Core Animation, która wygląda podobnie do wygaszacza ekranu na starym telewizorze Apple. Ciągły strumień obrazów (każdy z nich CALayer
) przechodzi pionowo, od dołu do góry. Aby to osiągnąć, animacja warstwy kończy się, gdy zniknie z widoku, zostaje przesunięta z powrotem na dół, przypisana do nowego obrazu i ponownie aktywowana. Odbywa się to metodą delegata animationDidStop
. Zauważyłem jednak, że jeśli zrobię zrzut ekranu podczas uruchamiania aplikacji na iPadzie, warstwy nigdy nie zostaną przeniesione na spód i nie będą ponownie widoczne. Wyizolowałem problem i jestem pewien, że powoduje to zrzuty ekranu. Prowadzi mnie to do wniosku, że zrobienie zrzutu ekranu ma wpływ na czas animacji. Więc ...Zrzut ekranu z animacją rdzenia na iPadzie
- Jaki wpływ ma animacja na zrzut ekranu na iDevice?
- Czy istnieje lepszy sposób osiągnięcia tego efektu?
Jakiej metody używasz do zrzutu ekranu? Przycisk uśpienia + Home lub Xcode Organizer lub 'UIScreenGetImage()'? –
Używam przycisku uśpienia i przycisku Home na urządzeniu. Próbowałem przechwycenia ekranu z Xcode i nie było problemu. Mając to na uwadze, zaczynam myśleć, że problem ma coś wspólnego z białą animacją "flash" podczas robienia zrzutu ekranu na urządzeniu. – David
W swojej metodzie "-animationDidStop:" wykonujesz te same czynności w zależności od tego, czy animacja została zakończona czy nie? Może animacja jest oznaczona jako niezakończona po zrobieniu zrzutu ekranu. – Kemenaran