2011-05-07 24 views
18

Kullanıcı bir sayfaya gittiğinde ekranın ortasında bir etiket görüntülediğimde burada UIScrollView var, sorun şu ki, animasyon devam ederken kullanıcı bir sonraki sayfaya geçemez. Animasyon bitene kadar tüm kullanıcı etkileşimi devre dışı bırakılmış gibi görünüyor.UIView animasyonları herhangi bir dokunma girdisini iptal ediyor?

Etiketi görüntülemek için kodum İşte.

if(!scrollView.dragging) 
    [UIView animateWithDuration:0.3 
          delay:0.3 
         options:UIViewAnimationOptionCurveEaseOut 
        animations:^(void){ 
         [vesselNameLabel setFrame:frame]; 
        } 
        completion:^(BOOL finished){}]; 

Kaydırma görünümünde bu iptal eden kullanıcı etkileşiminden nasıl çıkarım?

cevap

45

Tamam, ben bunu anladım.

UIView'in blok animasyonunu, varsayılan olarak kullanıcı etkileşimini engeller ve etrafından dolaşmak için UIViewAnimationOptionAllowUserInteraction öğesini seçeneklerden biri olarak geçirmeniz gerekir. Umarım bir başkası bu bilgiyi de kullanabilir.

+1

Ayrıca, iOS 4'te varsayılan olarak engellendiğini fark ettim, ancak iOS 5'de değil. Yalnızca iOS 4'te çalışan bir iş arkadaşının telefonunda test ettiğimde bu soruna rastladım. – jowie

+0

Varsayılan olarak bloklar iOS 6'da. – mbuc91

+0

Harika, çok basit :) – Macistador