2016-08-01 4 views
0

3つのセクション(各セクションは中央のUILabelを表示しています)を含むUITableViewを作成したいと考えていますが、各セクション内には動的な数のセルがあります。最初のセル(MainCell)にはイメージビューとラベルがあり、最終的な数のダイナミックセル(DetailCell)にはMainCellに基づく情報があります。固定されている唯一の情報は、3つのセクションがあることです。誰に何をすべきかについて何か考えがありますか?私はそれらを3つのテーブルに分割することができましたが、可能であればそれらをすべて1つにすることになりました。私はグループ化されたテーブルで遊んでみましたが、各MainCellのDetailCellの数を変える方法がわかりません。3つのiOSテーブル/セクションを動的にネストする方法は?

私は何をしようとしているのかを説明するのに役立つはずのイメージを添付しました。

すべてのヘルプは高く評価され、感謝!

Nested table

+0

辞書のサイズが3の場合、辞書の各キーにはモデルの配列が含まれ、各モデルにはセルに関連するすべてのフィールドが含まれ、行を含むタイプの追加プロパティを持ちますそれがメインかディテールかをタイプします。セクションの行数では、単にディクショナリセクション内の配列を取得し、この配列の数を返します –

答えて

0

私はあなたのデータソースを知っていませんが、あなたはこのような何かを行うことができます:

class MyTableViewController: UITableViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    // MARK: - Table view data source 

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
     return 3 
    } 

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 7 
    } 

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

     var cell:UITableViewCell? 

     if indexPath.row % 3 == 0 
     { 
      // this is a "MainCell" 
      cell = tableView.dequeueReusableCellWithIdentifier("MainCell", forIndexPath: indexPath) 

     } 
     else 
     { 
      // this is a "DetailCell" 
      cell = tableView.dequeueReusableCellWithIdentifier("DetailCell", forIndexPath: indexPath) 
     } 

     return cell! 
    } 

    override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 
     let cell = tableView.dequeueReusableHeaderFooterViewWithIdentifier("HeaderCell") 

     return cell 
    } 
} 

ストーリーボードは表さ複数の細胞型を持っているでしょう:

Storyboard

結果は

です。

App running

関連する問題