幅 88 の 5 つの画像ビューがありscrollview
ます。
scrollview
各画像ビューにスクロールしたい(ページングではありません)
と
iPhoneで無限スクロールビューを作成したい.つまり、最後のアイテムにスクロールすると、その隣に最初のアイテムが表示される..
オフセットで試してみましたが、オフセットで移動すると停止します。また、各要素を中央で停止できないアップルストリートスクローラーを使用しました(ピッカービューのように)。
幅 88 の 5 つの画像ビューがありscrollview
ます。
scrollview
各画像ビューにスクロールしたい(ページングではありません)
と
iPhoneで無限スクロールビューを作成したい.つまり、最後のアイテムにスクロールすると、その隣に最初のアイテムが表示される..
オフセットで試してみましたが、オフセットで移動すると停止します。また、各要素を中央で停止できないアップルストリートスクローラーを使用しました(ピッカービューのように)。
まず、メモリ使用量を低く維持できるように、UITableView を使用することをお勧めします。私がプロジェクトでうまく使用したアプローチは次のとおりです。
セルの内容を複製します。つまり、このように 5 つの項目がある場合です。
| | 1 | 2 | 3 | 4 | 5 |
次のようにするには、テーブルの最後に同じものを (大したことではない再利用可能なエンジンを使用したテーブル ビューで) 追加する必要があります。
| | 1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 5 |
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == _yourScrollView) {
CGFloat currentOffsetX = scrollView.contentOffset.x;
CGFloat currentOffSetY = scrollView.contentOffset.y;
CGFloat contentHeight = scrollView.contentSize.height;
if (currentOffSetY < (contentHeight / 6.0f)) {
scrollView.contentOffset = CGPointMake(currentOffsetX,(currentOffSetY + (contentHeight/2)));
}
if (currentOffSetY > ((contentHeight * 4)/ 6.0f)) {
scrollView.contentOffset = CGPointMake(currentOffsetX,(currentOffSetY - (contentHeight/2)));
}
}
}
上記のコードは、スクロールの最後にほぼ到達した場合にスクロール位置を一番上に移動します。または、ほとんど上にいる場合は、下に移動します...
この 2 つのオプションのいずれかを確認できます。
これは長い間私に深刻な問題を引き起こしたので、私はあなたの痛みを本当に感じています. あなたの問題を解決するはずのこのコントロールを見つけました: http://www.cocoacontrols.com/platforms/ios/controls/infinitescrollview
トランジションを挿入してスクロールを無効にすることも検討したため、スライドショーのようになりますが、どちらの方法でも機能するはずです。
これは、私が行っていた解決策の簡単な説明です。
0 から 9 までのカウンターがあるとします。その後、9 から 0 への遷移を行うと、実際には 9 の後に (scrollView で) 別の 0 をスプーフィングし (scrollView で 0' と呼びます)、0' へのアニメーション化された遷移を作成し、非scrollView の上に立つ 0 へのアニメーション化された即時遷移。
このミニ プロジェクトで単純な無限スクロールを実装しました。
https://github.com/mcmatan/Infinity-tabBar-scroll-view/blob/master/README.md
解決策を探している他の人は、https://github.com/Seitk/InfiniteScrollPicker/でこのライブラリ Infinite Scroll Picker を試すこともできます。これは基本的にドラッグ アンド ドロップです。私はプロジェクトでそれを使用していますが、うまく機能します。
これにはiCarouselライブラリを 使用できます。https://github.com/nicklockwood/iCarousel