2010-09-03 10 views
6

¿Cómo puedo ocultar el teclado táctil en el evento ScrollView ...Resign de primera respuesta en ScrollView táctil

de escenarios es así ...

-> Ver -> ScrollView -> Textfield

quiero ocultar el teclado de toque de ScrollView. Traté de sustituir la clase de ScrollView pero todavía no puedo hacerlo.

+0

creo que es necesario utilizar un delegado. Aún – mk12

+0

Puede alguien ayudarme a resolver esto ??? –

Respuesta

8

Haciendo como esto ayudará a:

@interface MyClass <UIScrollViewDelegate> { 
} 

@implementation 

- (void)viewDidLoad { 
    yourScrollView.delegate = self; 
} 

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { 
    [myTextField resignFirstResponder]; 
} 

Si realmente desea para controlar el evento táctil, entonces necesita subclase el UIScrollView y reemplazar el método:

- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view { 

} 

Más sobre UIScrollView touch

+0

Necesito hacer la piel keyoboard en el tacto no en arrastrando el ScrollView ... así que ¿hay alguien que me puede ayudar con esto !!!! –

+0

Pero cuando los usuarios se arrastran, tienen que tocar, ¿es correcto – vodkhang

+0

He editado mi respuesta para incluir el evento táctil – vodkhang

4

Prueba esto:

Añadir gestreco gnizer para scrollview,

UITapGestureRecognizer *tapScroll = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)]; 
    tapScroll.cancelsTouchesInView = NO; 
    [yourScrollview addGestureRecognizer:tapScroll]; 
    [tapScroll release]; 

Resigna tu teclado en el método (golpeado :).

6

Esto es lo que funcionó para mí

en su viewDidLoad método de viewController

UITapGestureRecognizer *tapScroll = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapped)]; 
    tapScroll.cancelsTouchesInView = NO; 
    [viewScroller addGestureRecognizer:tapScroll]; 

donde viewScroller es su rueda de desplazamiento. En el método aprovechado tenemos

- (void) tapped { 
     [self.view endEditing:YES]; 
    } 

No sabe por qué, pero lo anterior no funcionó para mí ... aunque debería

+0

Sí, después de tener los gestos en iOSSDK, esta es una buena solución respondida por @ Dax. Pero esta pregunta se hizo hace mucho tiempo cuando no había gestos. Pero +1 de myside. –

0
- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view 
{ 
    [self.view endEditing:YES]; 
    return YES; 
} 
Cuestiones relacionadas