2010-11-20 14 views
1
- (void)fadeOutStuff 
{ 
    CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"opacity"]; 
    anim.delegate = self; 
    anim.duration = 0.25f; 
    anim.removedOnCompletion = NO; 
    anim.fillMode = kCAFillModeForwards; 
    anim.fromValue = [NSNumber numberWithFloat:1.0f]; 
    anim.fromValue = [NSNumber numberWithFloat:0.0f]; 
    [self.searchList.layer addAnimation:anim forKey:@"animationOpacity"]; 
} 

Sadece ve bir nesneyi animasyon için bu kodu vardır ve animasyon tamamlandıktan sonra, tabaka, dokunmatik değildir. Animasyon işlemi, katmanı bir seviye/dizin aşağı mı ayarlıyor? Animasyonlu katmanın arkasındaki öğelere dokunabilirim, ancak animasyon katmanının kendisi değil. Bir ayarı kaçırıyor muyum? Bu koda dayanarak, yanlış bir şekilde animasyona gidiyorum mu?CABasicAnimation

cevap

0

Doğru hatırlıyorsam, gizli nesneler dokunmaz. Eğer sadece opaklık sıfıra ayarlanmışsa geçerli olur mu bilmiyorum, ama 0'a kadar tüm yol yerine sadece 0.01f'ye ne yaparsanız onu görmeye çalışın.

Bu arada, bilmiyorum yazım hatası varsa veya yazmazsa, ancak anim.fromValue'u iki kez ayarladınız ve anim.toValue'u ayarlamazsınız.

+0

Merhaba David sayesinde animasyon ekledikten sonra animasyonun son aşamasına ayarlandı. Yazım hatası düzeltildi ve görüntülemeyi başlangıçta 0.01 f alfa ayarlamaya çalıştım. Bu gizli bir nesne ile aynı mı? Görünüm hala herhangi bir dokunuş almıyor. – cj5

+0

Hatırlıyorum Aynı zamanda pozisyon geçişleri ile de aynı sorunu yaşadım. Animasyonlarla çalışmak için henüz dokunmatik ekrana bakmadım. – cj5

+0

Tamam, alt gösterimi animasyon yapmadan ekledim ve donukluğu 1,0f olarak ayarlandı ve bunu görebiliyorum ama yine de dokunma olaylarına tepki vermeyecek. Yanlızca yanlış görüş eklemeye mi gidiyorum? Alt raporları uygulamak için en iyi uygulama nedir? – cj5

0

Bunu anlıyorum ve özellik fillMode, animasyonlu nesnelerde dokunma olaylarının devre dışı bırakılmasından sorumludur. Animasyon yaptığınız her şey dokunma olaylarını işlemek durumundaysa onu kullanmayın. Temelde, kullandığım geçici çözüm FILLMODE özelliği kaldırıldı ve el ile zamanında müdahale için katmanın

[self.searchList.layer addAnimation:anim forKey:@"animationOpacity"]; 
[self.searchList.layer setValue:[NSNumber numberWithFloat:endingOpacityValue forKey:@"opacity"]]; 
+0

Aynı sorunla karşılaşıyorum ..... ve yaptığınız yolu denedim ... hala dokunuşları algılayamadı ..... Lütfen bana kodunuzu verebilir misiniz? – Minakshi

İlgili konular