SORU
23 Temmuz 2010, Cuma


UİLongPressGestureRecognizer baskı yaparken iki kez çağrılır

Eğer kullanıcı 2 saniye basılı varsa tespit ediyorum:

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]
                                             initWithTarget:self 
                                             action:@selector(handleLongPress:)];
        longPress.minimumPressDuration = 2.0;
        [self addGestureRecognizer:longPress];
        [longPress release];

Bu uzun basın nasıl ele aldığım

-(void)handleLongPress:(UILongPressGestureRecognizer*)recognizer{
    NSLog(@"double oo");
}

Metin "" aşağı 2 saniyeden daha uzun için bastığımda iki kez basılmış olur. çift oo Neden bu? Nasıl düzeltebilirim?

CEVAP
23 Temmuz 2010, Cuma


UİLongPressGestureRecognizer sürekli olay bir algılayıcı. Durumuna bakmak için bu olayın başlangıcı, ortası veya sonu olduğu, buna göre hareket görmek için. yani sen başla sonra tüm olaylar atmak, ya da sadece hareket bakabilirsiniz. Class Reference:

Uzun basın hareketleri sürekli. Hareketi başlar (UİGestureRecognizerStateBegan) numarası verilen parmak (numberOfTouchesRequired) olmuştur basıldığı için belirtilen süre (minimumPressDuration) ve rötuşları hareket etme ötesine izin verilen aralığın hareketi (allowableMovement). Hareket algılayıcı bir parmak hareket olduğunda Değiştirme durumu geçişler ve parmak kaldırdı her zaman () UİGestureRecognizerStateEnded biter.

Şimdi Böyle Durumunu Takip Edebilirsiniz

-  (void)handleLongPress:(UILongPressGestureRecognizer*)sender { 
    if (sender.state == UIGestureRecognizerStateEnded) {
      NSLog(@"UIGestureRecognizerStateEnded");
    //Do Whatever You want on End of Gesture
     }
    else if (sender.state == UIGestureRecognizerStateBegan){
       NSLog(@"UIGestureRecognizerStateBegan.");
   //Do Whatever You want on Began of Gesture
     }
  }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006
  • NPR

    NPR

    22 NİSAN 2006
  • Orson Wang

    Orson Wang

    28 EKİM 2006