inside doesn iphone cocoa-touch uikit uiscrollview

iphone - doesn - uiscrollview swift programmatically



iPhone UIScrollView/setContentOffset rareza (3)

Acabo de recibir esta respuesta de Sombody en Apple: "Este es un problema conocido y se solucionará en una versión futura del SDK de iPhone. Si puede probarlo, en realidad debería encontrarlo fijo en la versión beta actual. Todavía tiene problemas con eso, por favor presente un nuevo error.

Tengo un problema extraño con setContentOffset, que no parece ser capaz de resolver: estoy tratando de crear una vista de desplazamiento "infinito", por lo que me gustaría restablecer el offset de contenido en una determinada posición. Con el siguiente código, se llamará a setContentOffset a x = 160px. Si arrastro la vista de desplazamiento, mi registro se ve así:

desplazamiento: 158

desplazamiento: 159

desplazamiento: 160

desplazamiento: 80

desplazamiento: 160

Lo que sucede es que mi setContentOffset (a 80) se realiza, cuando sigo arrastrando UIScrollView parece que se olvidó de eso y continúa en 160. Aún más raro: cuando configuro animadamente: SÍ, funciona. Tal vez un problema de tiempo? Cuando llamo a setContentOffset desde scrollViewDidScroll, se volverá a llamar a scrollViewDidScroll.

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSInteger tileNo = floor(scrollView.contentOffset.x / 80); NSLog(@"offset: %f, tile: %d, lastTile: %d", scrollView.contentOffset.x, tileNo, lastTileNo); if (tileNo > lastTileNo) { [scrollView setContentOffset:CGPointMake(80, 0) animated:NO]; } lastTileNo = tileNo;

}

Gracias por ayudarme, Stephan


El problema es que UIScrollView no es interminable por diseño. Tiene un límite estricto de su tamaño de contenido. ¿Estás seguro de que CGFLOAT_MAX (340282346638528859811704183484516925440) es demasiado pequeño para tu vista de desplazamiento?


El mismo problema aquí.

Es una especie de incoherencia llamando a setContentOffset: dentro de scrollViewDidScroll :, actualiza el contentOffset de tableview solo hasta la próxima llamada de scrollViewDidScroll :.

Me di cuenta de que este error solo ocurre cuando el usuario no está arrastrando la tabla vista (solo desacelera).

En mi caso, la actualización solo cuando el usuario está arrastrando solucionó el problema.

Espero eso ayude.