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
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
}
}
Giriş / çıkış izleme tam bir yığın bas...
baskı C yığın veya C çağrısı ...
UİPopovercontroller dealloc popover ya...
'baskı' Python nedir?...
Nasıl Python stderr için baskı?...