iphone uiscrollview scroll uidatepicker freeze

iPhone-conflicto de desplazamiento UIScrollView y UIDatePicker: el que interfiere con el segundo



freeze (2)

Tengo un UIDatePicker dentro de UIScrollView. Pero UIDatePicker no responde a los toques de desplazamiento. Es la vista de desplazamiento que se desplaza. Al leer algunos documentos en la red, configuré "Delay Content Touches" en NO, y ahora veo el marcador de fecha comenzando un ligero desplazamiento, pero sigue siendo la vista de desplazamiento la que toma la última palabra. Tengo un lugar en la pantalla donde el usuario puede tocar para desplazarse por la vista. Entonces, ¿cómo puedo separar los dos tipos de pergaminos y hacer el pergamino de fechador de una manera normal?

Gracias por tu ayuda


Resuelto usando esa publicación: http://www.alexc.me/uiscrollview-and-uidatepicker/153/

Simplemente haz la clase con ese código dentro:

UIScrollViewBreaker.h

@interface UIScrollViewBreaker : UIScrollView { } - (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view; - (BOOL)touchesShouldCancelInContentView:(UIView *)view; @end

UIScrollViewBreaker.m

@implementation UIScrollViewBreaker - (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view { if ([view isKindOfClass:[UIDatePicker class]] || [@"UIPickerTable" isEqualToString:[[view class] description]] ) { //|| [view isKindOfClass:[UIPicker class]] return YES; } return [super touchesShouldBegin:touches withEvent:event inContentView:view]; } - (BOOL)touchesShouldCancelInContentView:(UIView *)view { if ([view isKindOfClass:[UIDatePicker class]] || [@"UIPickerTable" isEqualToString:[[view class] description]] ) { return NO; } return [super touchesShouldCancelInContentView:view]; } @end

Y en IB, establece la clase de UIScrollView en UIScrollViewBreaker.

Y está hecho.

Simplemente no olvides dejar un lugar en la vista para que el usuario le permita desplazarse por la vista de desplazamiento.