2

スクロール ビューでコンテンツの下または上にスクロールすると、新しいコンテンツが紹介される Reeder に似た機能を作成しようとしています。

私は scrollViewWillEndDragging:withVelocity:targetContentOffset: で良い場所に向かっていると思いました:

ただし、これは底にとどまります。

下または上を超えてスクロールしているかどうかを検出する方法はありますか (これは、垂直スクロールバーが小さくなり始めるときです)

ありがとう!

4

2 に答える 2

4

コメントを回答として投稿:

最下点/最上位点を超えた瞬間をチェックcontentOffsetし、スクロールビューに新しいものを追加し、コンテンツのサイズを大きくしますscrollviewDidScrollcontetOffset

于 2012-10-10T20:23:35.117 に答える
0

たぶん、より良い解決策は次のようなものでしょう:

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {

    if (targetContentOffset->y == 0 && scrollView.contentOffset.y < - someOffset) { //use someOffset if you dont want to reload immedeately on scroll to top
        //dragged past top
    }

    if (targetContentOffset->y == scrollView.contentSize.height && scrollView.contentOffset.y > scrollView.contentSize.height + someOffset) { 
        //dragged past bottom
    }

}
于 2015-07-28T14:53:32.353 に答える