43

Androidでは、ViewPagerとFragmentsを使用して、同じレイアウトでデータの複数のページ間を閲覧するための優れた方法があります。ユーザーが左または右にスワイプすると、ページが変わります。すべてのページに1つのViewControllerと1つのレイアウトリソースしかありませんが、ユーザーが参照するとデータの内容が変わります。左右にスワイプすると、次のページのコンテンツが既に読み込まれていることを確認できるアニメーション効果もあります。

iOSでこれに相当するものは何ですか?

4

5 に答える 5

47

プロパティをYESに設定しUIScrollViewてaを使用します。pagingEnabled通常、aUIPageControlはそれと一緒に使用されます。

「UIScrollViewページング」をグーグルで検索すると、多くのチュートリアルと例を見つけることができます。AppleはPageControlサンプルプログラムを提供しています。

iOSはアダプターのようなクラスを提供していませんが、すべてのページを一度にインスタンス化する必要がないように「仮想ページ」を実装する方法を説明するチュートリアルがあります:http: //cocoawithlove.com/ 2009/01 /multiple-virtual-pages-in-uiscrollview.html

于 2012-04-03T20:19:02.800 に答える
27

UIPageViewControllerを確認する必要があります。iOS5以降で利用可能です。

于 2012-03-16T09:51:59.150 に答える
7

AndroidのviewPagerと同様に機能するiOS用のカスタムコントロールを作成しました。こちらで確認できます。

于 2014-06-27T12:14:43.307 に答える
0

https://github.com/vowed21/HWViewPagerにアクセスします

それはあなたを助けるかもしれません。

継承されたUICollectionView。

再利用可能なセル(Androidのアダプターの可能性が高い)

そして、左側、右側のプレビュー部分を有効にします。

于 2015-01-09T12:55:03.620 に答える
0

次のアイデアを使用して、独自に実装できます。

C0、C1、C2の3つのアイテム(セル)を無限にループしたいとすると、中央のセルの左側と右側にダミーセルを生成できます。結果は次のようになります。

C0 C1 C2 [C0 C1 C2] C0 C1 C2

括弧内のセルは、デバイス画面から見えるセルです。左にスクロールすると、

C0 [C1 C2 C0] C1 C2 C0 C1 C2

この時点で、contentOffsetを強制的に指定されたダミーセルの右側をポイントします。

C0 [C1 C2 C0] C1 C2 C0 C1 C2-> C0 C1 C2 C0 [C1 C2 C0] C1 C2

右にスクロールすると同じメカニズムで動作します。

以下の私の解決策では、アイテムビューの幅をその親ビューと等しく設定すると、問題が解決します。

https://github.com/DragonCherry/HFSwipeView

動作を確認したい場合は、下のリンクをクリックして「タップして再生」してください。

https://www.cocoacontrols.com/controls/hfswipeview

フルサイズのセルアイテムの場合、UIScrollViewでpagingEnabledオプションを使用するだけで機能する場合がありますが、親(スクロール)ビューよりもコンテンツアイテムの幅を狭く設定する場合は正しく機能しません。「同期」または「エッジプレビュー」のcocoacontrolsサンプルを参照して、この機能を確認してください。

于 2016-07-16T06:49:05.057 に答える