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 contenido desplazamiento en una posición determinada. Con el siguiente código setContentOffset se llamará a x = 160px. Si arrastrar el desplazamiento ver mi registro es el siguiente:iPhone UIScrollView/setContentOffset rareza
desplazamiento: 158
desplazamiento: 159
desplazamiento: 160
Offset: 80
desplazamiento: 160
Lo que sucede es que mi setContentOffset (a 80) se realiza, cuando sigo arrastrando UIScroll La vista parece haberse olvidado de eso y continúa en 160. Aún más raro: Cuando configuro animada: 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
puede hacer que sea "interminable" revolviendo alrededor de sus subvistas y seguir restableciendo el offset de contenido, funciona. – bibac
Obviamente no leyó la pregunta y no ha contribuido con nada. –