スクロール ビューでコンテンツの下または上にスクロールすると、新しいコンテンツが紹介される Reeder に似た機能を作成しようとしています。
私は scrollViewWillEndDragging:withVelocity:targetContentOffset: で良い場所に向かっていると思いました:
ただし、これは底にとどまります。
下または上を超えてスクロールしているかどうかを検出する方法はありますか (これは、垂直スクロールバーが小さくなり始めるときです)
ありがとう!
スクロール ビューでコンテンツの下または上にスクロールすると、新しいコンテンツが紹介される Reeder に似た機能を作成しようとしています。
私は scrollViewWillEndDragging:withVelocity:targetContentOffset: で良い場所に向かっていると思いました:
ただし、これは底にとどまります。
下または上を超えてスクロールしているかどうかを検出する方法はありますか (これは、垂直スクロールバーが小さくなり始めるときです)
ありがとう!
コメントを回答として投稿:
最下点/最上位点を超えた瞬間をチェックcontentOffset
し、スクロールビューに新しいものを追加し、コンテンツのサイズを大きくしますscrollviewDidScroll
contetOffset
たぶん、より良い解決策は次のようなものでしょう:
-(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
}
}