2016-04-28 13 views
-2

私はこの種の構造を持つ私のアプリケーションに取り組んでいます。 See imageこの複雑な水平スクロール構造とiOSの垂直スクロール構造を持つ最良の方法は?

これは1台の車両リストの詳細を示していますが、水平スクロールもありますので、次にスワイプすると次のリストが読み込まれます。また、各リスティングには、機能をリフ次の画像をスワイプしてさらに画像を読み込むこともできます。 「概要」と「詳細」は異なるタブで、クリックするとそれぞれの詳細が読み込まれます。ユーザーは上にスクロールして、さらに詳細を下に見ることができます。

私のアプリにこのような構造を持たせるにはどうすればよい方法がありますか?どのUIコンポーネントをどのように使用し、どのように使うべきですか?また、何千ものリスティングがあるので、メモリの問題を避けるためにすべてのビューを一度に読み込むわけではありません。しかし、水平レイアウトでビューを再利用する場合、各ページの複雑なビュー構造のためにページを変更するときに水平スクロールがスムーズで遅くなる可能性もあります。誰もこの種のビュー構造を見つけて、これを行うソリューションを持っていますか?

ご提案いただければ幸いです。

+0

ビューの水平スクロールをacheiveする最良の方法は、SwipeView(https://github.com/nicklockwood/SwipeView)を使用することです、それはビューの再利用機能 – KrishnaCA

+1

を持っているので、この質問は以来、広範かつ潜在的に主に意見ベースへの道でありますあなたはこの行動を達成するための「最良の方法」を求めます。何を試しましたか?作業中の実装を投稿してください。 – JAL

答えて

1

ルートとして水平UICollectionView

  • UICollectionViewCell詳細にUIViewController

を含む各詳細UIViewControllerUITableView

  • UITableView
  • Eをリフレッシュするためにプルが含まれているが含まれていますACH UITableViewCellが詳細画面(画像ギャラリー、タブ、概要)の異なる部分である

各画像ギャラリーUITableViewCellUICollectionView

  • UICollectionViewCell各画像

この最大が含ま含まパフォーマンス関連の問題は、上記のビュー階層のすべてが、各セルの再利用ではなく、一度だけ構築されることを確認することです。上記のすべてのコンポーネントには、モデルオブジェクトを挿入するか、モデルオブジェクトを生成するモデルを表示する必要があります。再利用するたびに表示される値が変更され、対応するUICollectionViewおよびUITableViewがリロードされます。

+0

ありがとう! UICollectionViewとUITableViewを使用して、各UICollectionViewCellの内部に複数のセクションを作成しました。 – Shaunak

1

2つのビューコントローラーでUIPageViewControllerを使用すると、異なるデータで代替表示することができます。 2つ目は、両方のビューコントローラで垂直方向にスクロールできるscrollviewです。

水平にスワイプすると、新しいデータでページが変更され、垂直にスワイプすると垂直方向にスクロールします。

希望これは役立ちます:)私はあなただったら

+0

ページビューコントローラは、このような処理を行う上でより良い方法です。 –

1

、私はそれぞれの子UIPageViewControllerUIViewControllerに垂直スクロールに水平スクロールのためのUIPageViewControllerUITableViewを使用します。

この方法で、別の水平スクロールビューをUITableViewCells内で使用することでさらに分離できます。

水平スクロールまたは垂直スクロールのいずれもプレーンでないものを使用しないでください。これらは重く、手動でメモリ管理が難しいためです。

希望します。乾杯!

関連する問題