Parece un problema que podría tener una solución simple, pero no he encontrado nada que pueda guiarlo. Estoy usando UIWebView dentro de UIScrollView y tocando en la barra de estado (para desplazar el contenido a la parte superior) no está funcionando.UIScrollView + UIWebView = NO scrollsToTop
He hecho una aplicación de prueba simple para ver si realmente es culpa de UIWebViews. Y realmente lo es.
// scrolls to top on status bar tap
UIScrollView *sv = [[UIScrollView alloc] init];
sv.frame = CGRectMake(0, 0, 320, 480);
sv.contentSize = CGSizeMake(320, 1200);
[self.view addSubview:sv];
// doesn't scroll
UIScrollView *sv = [[UIScrollView alloc] init];
sv.frame = CGRectMake(0, 0, 320, 480);
sv.contentSize = CGSizeMake(320, 1200);
UIWebView *wv = [[UIWebView alloc] init];
wv.frame = CGRectMake(0, 0, 320, 100);
[sv addSubview:wv];
[self.view addSubview:sv];
Por lo tanto, creo que tal vez hay algo que podría desactivar para hacer UIWebView no ensuciar con scrollToTop? O algún tipo de solución también sería bueno.
¿Alguna idea?
Gracias nivekastoreth, esto me estaba molestando. Solo quiero señalar que te falta un '(' en ensureScrollsToTop y quiero recordarle a alguien más que encuentra esto que configure al delegado de la vista web para que se llame a webViewDidFinishLoad. –
esto funciona, pero probablemente querías decir: ((UIScrollView *) [[subvistas webView] objectAtIndex: 0]). ScrollsToTop = YES; –
Mi memoria de esto es un poco confusa en este momento, pero según recuerdo, el problema es que debe establecer scrollsToTop en NO porque el problema si múltiples vistas desplazables devuelven SÍ (a medida que se encadenan hacia abajo a través de los niños), en realidad deshabilita esa funcionalidad. Está solo habilitada si una y solo una vista desplazable devuelve SÍ. – nivekastoreth