0

私は持っていUIScrollViewます。コードを使用して contentOffset を設定します。

    [UIView animateWithDuration:0.2 delay:0 options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveEaseOut animations:^{
    [comicsScrollView setContentOffset:CGPointMake(comicsScrollView.contentOffset.x, currentView.frame.origin.y + currentView.bounds.size.height/2 - comicsScrollView.bounds.size.height/2) animated:NO];
        } completion:^(BOOL finished) {
     }];

の中へ

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

メソッドと同じコードを

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

垂直スクロールを行うと、スクロールのインジケーターの動作が正しくなく、ジャンプするか、前の位置にとどまります。

私の間違いはどこですか?

4

1 に答える 1

0

呼び出しでsetContentOffsetアニメーションを処理できます。パスインしanimated:YESてブロックを失いUIView animationWithDuration:ます。

言い換えれば、これを試してみてください:

[comicsScrollView setContentOffset:CGPointMake(comicsScrollView.contentOffset.x,     
   currentView.frame.origin.y + currentView.bounds.size.height/2 -    
   comicsScrollView.bounds.size.height/2) animated:YES];
} completion:nil];
于 2013-01-14T14:22:40.607 に答える