2017-03-05 7 views
-2

私はSwift 3、Xcode 8.2を使用しています。Swift 3 - どのようにアコーディオンスタイルのレイアウトを実装しますか?

私は下記をご覧のような何かを達成したい:

enter image description here

私はトップの見出しおよびラベルと行区切り記号と一緒にイントロの段落を持っていますが、この「アコーディオンを持つことができるビューを望みますユーザーがクリックして情報のさまざまな部分を表示/非表示にするスタイルレイアウトです。

誰かが私を正しい方向に向けることができますか?

+0

この質問は少し広範ですが、私は 'UITableView'を調べることをお勧めします。それぞれの「主題」(例えば、「年間給与トラッカー」、「質問?」)に独自のセクションがあるテーブルビューを実装することもできます。タイトルセルは、そのセクションの最初のセルであり、タップすると、アコーディオンコンテンツを含む2番目のセルが挿入または削除されます。一番上の見出しや内容については、 'UITableView'のヘッダービュー機能を使うことができます。 – AustinZ

+0

この場合、スタックビューを持つドロップダウンメニューは良い解決策になるはずです –

答えて

2

UIKitには実際のアコーディオンスタイルのレイアウトがないため、正しい答えはありません。あなた自身でロールする必要があります。ここで

が、私はそれをやった方法は次のとおりです。

  • 区分テーブルビューを作成し、 情報の各折りたたみ式のグループは、それ自身のセクションです。各セクションにはセクションヘッダーが必要です。 viewForHeaderInSectionを実装します。
  • ヘッダービューには、「Yearly Benefit Tracker」などのラベルと、例のように セクションが開いているか閉じているかに応じて変更される開示イメージがあります。
  • 各セクションには、それに関連付けられたタップジェスチャ認識機能があります。セクションの数は、それがまだときすべてのセクション
  • を返すと呼ばれる
  • タップジェスチャーがトリガされると、対応する機能が「崩壊セクション」
  • リロードのセットにそのセクションを追加し、テーブルビュー
  • 行の数は、そのセクションが折りたたまれたセクションのセット内にあるかどうかを確認するためにチェックされます。折りたたまれている場合は、そのセクションに対して0行を返します。
  • 展開のために逆を実装します。
関連する問題