2012-05-08 16 views
6

UitextField sayfasından birine UILongPressGestureRecognizer eklemeye çalışıyorum ama UiTextField uzun basıldığında seçici yöntemini çağırmıyor. UItextField uygulamasına ekledim Ancak TextField'a uzun basıldığında ancak Büyüteç'i Alanda Gösterdeyken Seçici yöntemini çağırmıyor.UILextPressGestureRecognizer bir UITextField'a nasıl eklenir?

[self.tfCustomerStreet addGestureRecognizer:LongPressgesture]; 

Fakat bu, düzgün çalışıyor ve Görünüm'e eklerseniz, seçiciyi çağır.

UILongPressGestureRecognizer *LongPressgesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPressgesture:)]; 
    [LongPressgesture setMinimumPressDuration:2.0]; 

viewDidLoad

yılında

[[self view] addGestureRecognizer:LongPressgesture]; 

Başlatma kodu.

// Long press gesture reconizer 
- (void)LongPressgesture:(UILongPressGestureRecognizer *)recognizer 
{ 
    if (recognizer.state == UIGestureRecognizerStateEnded) { 
     NSLog(@"Long press Ended ................."); 
    } 
    else { 
     NSLog(@"Long press detected ....................."); 
    }   
} 

Lütfen bana UITextField ile nasıl çalışabilirim?

cevap

8

sekme jest garanti edilir bu yönteme EVET dönen bu jest temsilci işlevi

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

düzenlemek textField başlatmak ... ya da sadece uygulamaya adı verilecek beri işe yarayacak [LongPressgesture setMinimumPressDuration:2.0]; .. kaldırırsanız eşzamanlı tanıma sağlamak için.

Enjoy :)

+0

teşekkür Malek .. [LongPressgesture setMinimumPressDuration: 2.0] kaldırılmasına çalışan başlangıç; ama söz konusu kodu eklediyseniz işe yaramaz. ama sorun çözüldü .. teşekkürler :) – Azhar

+0

hoş geldiniz .. ama ikinci slogan için 'UIGestureRecognizerDelegate' .h eklediniz mi? –

+1

ayrıca 'LongPressgesture.delegate = self;' –

İlgili konular