2016-07-16 12 views
-1

以下のビューのように、ダイナミックコンテンツとスタティックテーブルセルにテーブルビューを組み込むアプローチは何ですか?学習のために、私はあなたが次の各画面を構築して行くだろうか聞きたい:可能な限りスタティックテーブルとダイナミックテーブルを1つのビューで混在させる方法

+0

それはグループテーブルのように見えますが、静的と動的の2つのセクションを作成します。 –

+0

@MikeAlter静的と動的の混合はそれほど単純ではありません。ダイナミックプロトタイプまたは静的セルは、テーブルビューレベルでのみ選択できます。おそらく、静的なコンテンツ用にいくつかの動的なセルを作成し、セクションごとに実行時に配置する方法があります。しかし、私は他のアイデアがそこにあるのを見たいと思っています。コンテナビューとさまざまなテーブルビュー構成を組み合わせることを考えます。 – SimoAmi

+0

純粋な動的テーブルを使用してください。どうしたの?私はそのテーブル構造が静的または動的に関係しているかどうかはわかりません。それは単なるテーブルです。 – matt

答えて

0

、あなたは静的セルと動的細胞を一緒に使用しないでください。それは悪い習慣です。これは、静的セルを使用すると、tableViewのdataSourceが静的に設定され、まったく変更できないためです。

しかし、これにはハックがあります。また、静的セルと動的セルの両方を一緒に使用できます。しかし、あなたは本当にこれを行うに慎重でなければならない、そうでなければあなたのアプリがクラッシュする可能性があります。

のToDoリスト:

1. cellForRowAtIndexPathメソッドをオーバーライドします。ここで

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

    // For static section i.e. 0 index 
    if indexPath.section == 0 { 
    // This returns the static cells 
    return super.tableView(tableView, cellForRowAtIndexPath: indexPath) 
    } else { 
    // This gives your dynamic cell 
    let cell = myDynamicCell() 
    return myDynamicCell 
    } 
} 

、myDynamicCell()メソッドは、あなたの動的な細胞を作成するために、独自の方法です。 スタティックセルを既に選択しているため、この時点でプロトタイプセルを使用することはできません。したがって、コードを使用してセルを作成する必要があります。

注:

あなたは、静的なデータソースをいじっている点に注意してください。この時点でエラーが発生した場合は、Appleが主張しているように、あなた自身の責任です。

また、このプロセスは本当に危険です。ダイナミックセルを使用し、最初のセクションを動的に静的に設定してみてください。そして、残りは簡単でしょう。これがベストなアプローチです。私はこのアプローチをお勧めしますが、上記のアプローチは、少なくとも新しいセルを作成する時点ではまだこの時間の間は機能します。

+0

ありがとう@Suman、あなたはどのように共有スクリーンショットに近づくだろうか? Fyi、最初のスクリーンショットでは、 "類似しています"というラベルの付いたセクションが遅延と非同期にレンダリングされ、データが利用可能になる前にロードマスクが表示されます。どちらのアプローチで可能になるのでしょうか?また、縦型スタックのtableviewcontrollerのコンテナビューも実行可能なソリューションになるでしょうか? – SimoAmi

+0

私が知る限り、最良のアプローチはダイナミックセルのみを使用することです。私は静的なセルを本の中で似たような目的のために使用し、それを実装することについて読んできましたが、かなり面倒であり適切ではありません。 チューター/ライターでさえ、慎重に使用することをお勧めします。私はあなただけの本、友人にあなたを参照することができます。しかし、すべてのコードをここで共有する権利はありません。 「iOS Apprenticeチュートリアル2:チェックリスト」書籍 https://www.raywenderlich.com/store/ios-apprentice – Ariel

関連する問題