2012-05-08 6 views
6

Estoy tratando de agregar UILongPressGestureRecognizer a uno de UITextField en la página pero no llama al método selector cuando presiona Long el UiTextField. Lo agregué a UItextField Pero no llama al método de Selector cuando presiono Long el Campo de Texto pero Mostrando el Ampliador en el Campo.Cómo agregar UILongPressGestureRecognizer a un UITextField?

[self.tfCustomerStreet addGestureRecognizer:LongPressgesture]; 

Pero funciona bien y llame al método del selector si lo agrego a la Vista.

[[self view] addGestureRecognizer:LongPressgesture]; 

código de inicialización en 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 ....................."); 
    }   
} 

Dígame cómo puedo hacer que funcione con UITextField.

Respuesta

8

si se quita el [LongPressgesture setMinimumPressDuration:2.0]; que va a funcionar .. ya que el movimiento de tabulación será llamado para iniciar editar el campo de texto ... o simplemente implementar esta función de gestos delegado

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

regresar SI a este método está garantizada para permitir el reconocimiento simultáneo.

Enjoy :)

+0

gracias .. Malek su comienzo a trabajar en la eliminación de [LongPressgesture setMinimumPressDuration: 2,0]; pero no funciona si agrega su código mencionado. pero problema resuelto ... gracias :) – Azhar

+0

eres bienvenido .. pero para la segunda versión agregaste 'UIGestureRecognizerDelegate' en .h? –

+1

también necesita establecer 'LongPressgesture.delegate = self;' –

Cuestiones relacionadas