0

スクロール ビューを最初からやり直すにはどうすればよいですか?

IE: myUIScrollView1000px広いです。ユーザーはビューをスワイプしてトピックを見つけます。UIScrollViewユーザーが最後のトピック (トピック 10 など) に到達したときに、逆方向にスクロールせずに最初 (トピック 1) に戻るにはどうすればよいですか?

そのため、ユーザーが望む場合、ビューは永遠に循環し続けます。

4

2 に答える 2

0

これは、使用する方法です。

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

ユーザーが最後のトピックに到達したことを検出した後。

于 2012-08-29T15:46:46.057 に答える
0

UIScrollViewトピックをページとしてページングを使用していると仮定しています。トリックは、最後のページを複製することです。次に、ユーザーがスクロールビューの最後のページ (最初のページの複製) にスワイプし、減速が停止したら、コンテンツ オフセットを最初のページに戻します。

これを行う必要があるとき、この投稿を見つけました。ではなくsetContentOffsetinを使用しましたが、どちらの方法でも機能します。scrollViewDidEndDeceleratingscrollRectToVisible

- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender 
{
    if (scrollView.contentOffset.x == 0) {
        [scrollView setContentOffset:contentOffsetOfLastTopic animated:NO];
    }
    else if (scrollView.contentOffset.x == contentOffsetOfLastPage) {
        [scrollView setContentOffset:contentOffsetOfFirstTopic animated:NO];
    }
}
于 2012-09-04T01:53:31.837 に答える