2012-05-08 12 views
6

Sto cercando di aggiungere UILongPressGestureRecognizer a uno di UITextField a pagina, ma non chiama il metodo di selezione quando Long Premi UiTextField. L'ho aggiunto a UItextField ma non chiama il metodo di selezione quando tengo premuto a lungo il campo di testo ma mostrando la lente di ingrandimento sul campo.Come aggiungere UILongPressGestureRecognizer a un UITextField?

[self.tfCustomerStreet addGestureRecognizer:LongPressgesture]; 

Ma funziona correttamente e chiama il metodo di selezione se lo aggiungo alla vista.

[[self view] addGestureRecognizer:LongPressgesture]; 

codice di inizializzazione in viewDidLoad

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

.

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

Per favore dimmi Come faccio a farlo funzionare con UITextField.

risposta

8

se si rimuove la [LongPressgesture setMinimumPressDuration:2.0]; funzionerà .. dal momento che il gesto scheda sarà chiamato per avviare la modifica textField ... o semplicemente implementare questa funzione gesto delegato

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

tornare SI a questo metodo è garantito per consentire il riconoscimento simultaneo.

Enjoy :)

+0

grazie Malek .. il suo inizio a lavorare su rimozione di [LongPressgesture setMinimumPressDuration: 2.0]; ma non funziona se aggiungi il tuo codice citato. ma problema risolto .. grazie :) – Azhar

+0

sei il benvenuto .. ma per la seconda sloution hai aggiunto 'UIGestureRecognizerDelegate' in .h? –

+1

anche tu devi impostare 'LongPressgesture.delegate = self;' –

Problemi correlati