以下のビューのように、ダイナミックコンテンツとスタティックテーブルセルにテーブルビューを組み込むアプローチは何ですか?学習のために、私はあなたが次の各画面を構築して行くだろうか聞きたい:可能な限りスタティックテーブルとダイナミックテーブルを1つのビューで混在させる方法
答えて
、あなたは静的セルと動的細胞を一緒に使用しないでください。それは悪い習慣です。これは、静的セルを使用すると、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が主張しているように、あなた自身の責任です。
また、このプロセスは本当に危険です。ダイナミックセルを使用し、最初のセクションを動的に静的に設定してみてください。そして、残りは簡単でしょう。これがベストなアプローチです。私はこのアプローチをお勧めしますが、上記のアプローチは、少なくとも新しいセルを作成する時点ではまだこの時間の間は機能します。
ありがとう@Suman、あなたはどのように共有スクリーンショットに近づくだろうか? Fyi、最初のスクリーンショットでは、 "類似しています"というラベルの付いたセクションが遅延と非同期にレンダリングされ、データが利用可能になる前にロードマスクが表示されます。どちらのアプローチで可能になるのでしょうか?また、縦型スタックのtableviewcontrollerのコンテナビューも実行可能なソリューションになるでしょうか? – SimoAmi
私が知る限り、最良のアプローチはダイナミックセルのみを使用することです。私は静的なセルを本の中で似たような目的のために使用し、それを実装することについて読んできましたが、かなり面倒であり適切ではありません。 チューター/ライターでさえ、慎重に使用することをお勧めします。私はあなただけの本、友人にあなたを参照することができます。しかし、すべてのコードをここで共有する権利はありません。 「iOS Apprenticeチュートリアル2:チェックリスト」書籍 https://www.raywenderlich.com/store/ios-apprentice – Ariel
- 1. 構成テーブルとレポートフィールドを1つのテーブルに混在させる
- 2. PowerBiで他のソースとSSASを混在させる方法
- 3. PhoneGapとネイティブアプリケーションのビューを混在させる
- 4. ASP.NETでWebFormsとMVCを混在させる方法
- 5. SwingアプリケーションでJava SwingとJavaFXを混在させる方法は?
- 6. Slickトランザクションで選択と削除を混在させる方法
- 7. TreeViewでデータバインドレベルと静的レベルを混在させる方法は?
- 8. HttpWebRequestで圧縮とキャッシュを混在させる方法は?
- 9. ブートストラップに "ウェル"と "ボタン"を混在させる方法
- 10. MVC 1とMVC 3を混在させる
- 11. ruby-on-railsモデルでgem-modulesを混在させる方法
- 12. JPAで継承型を混在させる方法
- 13. iOS UIKitとCocos2dを混在させる
- 14. Golang:UDPサーバーとGinを混在させる
- 15. SQLite DBとGetSharedPreferences()を混在させる
- 16. Cとアセンブリファイルを混在させる
- 17. タイトルとタグを混在させるフォームフィールド
- 18. CommonJSとオーダーローダーを混在させる
- 19. ウェブサイトとRESTを混在させる
- 20. C++とObjective Cを混在させる
- 21. 10個以上のRSSフィードを混在させる方法は?
- 22. 1つのアプリケーションでUIKitとTVMLKitを混在させることはできますか?
- 23. 2つのオーディオバッファを混在させたときのクリック/歪み
- 24. git:ブランチを混在させて - クリーンアップする方法
- 25. 1つのクラスで流暢なインターフェースと流暢でないインターフェースを混在させる
- 26. 1つのライブラリに基づいた異なるAPIを混在させることはできますか?
- 27. ActiveRecordの条件を混在させる
- 28. TypeScriptとClojureScriptを混在させることが可能です
- 29. CSSとPHPを混在させる方法はありますか?
- 30. jQueryとAngular4を混在させる方法が異なります
それはグループテーブルのように見えますが、静的と動的の2つのセクションを作成します。 –
@MikeAlter静的と動的の混合はそれほど単純ではありません。ダイナミックプロトタイプまたは静的セルは、テーブルビューレベルでのみ選択できます。おそらく、静的なコンテンツ用にいくつかの動的なセルを作成し、セクションごとに実行時に配置する方法があります。しかし、私は他のアイデアがそこにあるのを見たいと思っています。コンテナビューとさまざまなテーブルビュー構成を組み合わせることを考えます。 – SimoAmi
純粋な動的テーブルを使用してください。どうしたの?私はそのテーブル構造が静的または動的に関係しているかどうかはわかりません。それは単なるテーブルです。 – matt