2012-01-14 32 views
6

Ben bir görünüm animasyonlu olup olmadığını tespit etmek için bir yol bulmaya çalışıyorum.iOS'ta çalışan bir animasyonu algılamanın bir yolu var mı?

bir örnek: bir performans için shadowPath belirten bir görünüm katmanı üzerinde bir gölge uyguladık. Görünüm yeniden boyutlandırıldığında, gölge hareketlendirilmelidir. Görüş çerçevesini gözlemleyebilir ve buna göre katmanın gölge yolunu değiştirebilirim. Ancak görünüm yeniden boyutlandırılırken, değişiklik animasyon olmadığından gölge ileriye doğru atlar.

Bir CABasicAnimation kullanarak shadowPath'i nasıl canlandıracağımı biliyorum, ancak devam eden bir animasyonun özelliklerini bilmem ve böylece bunları animasyonuma da uygulayabiliyorum (çoğunlukla: süre, yavaşlama).

Bu çerçeve tipi bileşeninde, yani ben sadece üzerinde önceden süresini ve hafifletilmesi özelliklerini bilmek kabul edemeyiz.

bir başlangıç ​​/ çerçeve ölçümü sırasında animasyonu çalışan algılamak için bir yol var mı?

cevap

12

Sen iyi uygulama gerektiğini düşünüyorum

NSArray* keys = [yourView.layer animationKeys]; 
+0

Ah harika .... olun. Teşekkürler! – Inferis

0

diyoruz, bazı animasyon var tüm anahtarları almak için

[yourView.layer animationForKey:@"key"] 

arayarak anahtar bilerek özellikle görünümün tabakasına bağlı tüm animasyonlar alabilirsiniz

UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.7]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 

.....your code 
// Set animation did stop selector before committing the animations 

[UIView setAnimationDidStopSelector:@selector(animationFinished:)]; 

[UIView commitAnimations]; 
İlgili konular