Я пытаюсь использовать новый scrollViewWillEndDragging: withVelocity: targetContentOffset: вызов делегата UIScrollView в iOS 5, но я не могу заставить его ответить мне правильно. Я изменяю значение targetContentOffset-> x, но оно никогда не заканчивается. Я знаю, что код запускается, потому что он достигнет точек останова в этой функции. Я даже пытался установить значение смещения в жестко запрограммированное число, чтобы знать, где оно закончится, но оно никогда не работает.
Кто-нибудь смог правильно использовать это и заставить его работать? Есть ли какой-либо другой вызов делегата, который должен быть реализован, чтобы это работало?
Вот мой код на случай, если кто-то увидит, что с ним что-то не так:
- (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;
}