Estoy tratando de usar el nuevo scrollViewWillEndDragging: withVelocity: targetContentOffset: Llamada de delegado de UIScrollView en iOS 5 pero parece que no puedo obtenerlo para que realmente me responda correctamente. Estoy cambiando el valor de targetContentOffset-> x pero nunca termina siendo utilizado. Sé que el código se está ejecutando porque llegará a los puntos de interrupción en esa función. Incluso intenté establecer el valor de compensación en un número codificado para que supiera dónde terminaría pero nunca funciona.Paginación de UIScrollView personalizada con scrollViewWillEndDragging
¿Alguien ha podido usar esto correctamente y hacerlo funcionar? ¿Hay alguna otra llamada de delegado que deba implementarse para que esto funcione?
Aquí está mi código en caso de que alguien ve algo malo en ello:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
// goodOffsetX returns the contentOffset i want the scrollView to stop at
CGFloat goodOffsetX = [self _horizontalContentOffsetForTargetHorizontalContentOffset:(*targetContentOffset).x velocity:velocity.x];
NSLog(@" ");
NSLog(@"scrollViewWillEndDragging");
NSLog(@" velocity: %f", velocity.x);
NSLog(@" currentX: %f", scrollView.contentOffset.x);
NSLog(@" uikit targetX: %f", (*targetContentOffset).x);
NSLog(@" pagedX: %f", goodOffsetX);
targetContentOffset->x = goodOffsetX;
}
¿Tiene usted '' pagingEnabled' establecido en YES' en esta vista de desplazamiento? –
pagingEnabled está establecido en NO, los documentos dicen que debe establecerse en NO para que se llame a este delegado. También traté de configurar SÍ solo para patadas y no se llama como lo indica el documento, pero hay un registro de la consola que dice que no lo haga con pagingEnabled establecido en SÍ. – Alex
Mi problema fue que lo estaba probando en un teléfono con iOS4. Además, ¿ha establecido la propiedad de delegado de UIScrollView? – Marc