この質問は、Use UICollectionViews to create dynamic and multiple featuresに続きます。私は名前と、このアプリのような同様のレシピの画像を表示する静的な細胞を作成することができていUITableViewsを使用してSwiftで静的および動的行を作成する方法
:私は量に基づいて変化する動的な行を作成して貼り付けてい
すなわち器具または下の画像のような栄養価の内部データの:
私は普通のtableView上のデータの行を表示する方法を知っています。しかし、それをテーブルビュー内のセクションに埋め込む方法は不明です。私は複数のプロトタイプセルを追加し、それらをUITableViewCell
のサブクラスに割り当てようとしました。その後、cellForRow
にif
声明を使用しようとしましたが、これは私の問題を解決するものではありません。私もこのデモを見てきました
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! FirstCell
//set the data here
cell.recipeTitle.text = recipe.name
cell.imageView.image = UIImage(named: "url")
return cell
}
else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell2", for: indexPath) as! SecondCell
//set the data here
return cell
}
else {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell3", for: indexPath) as! ThirdCell
//set the data here
return cell
}
}
:https://medium.com/ios-os-x-development/ios-how-to-build-a-table-view-with-multiple-cell-types-2df91a206429、私が達成したいものに近いですが、私はそれが非常に困難それに適応することが分かってきました。
誰かが私にこのやっかいなアプローチに最善の方法を教えることができたら、本当に感謝します。
です。私はこの回答を高く評価しています。私はあなたの例を試しましたが、2番目と3番目のセクションを表示するのに苦労しています。私はそれを実行すると、それはちょうど私に最初のセクションの2つの複製を与えます。また、_FirstCell_と_SecondCell_は、私のすべてのUIアウトレットがリンクされているカスタムTableViewCellです。私は 'cellForRowAt'すなわち' cell.recipeLabel.text = recipe.name'でそれらを呼び出します。私はタグの代わりにこれを使用します。最後に、私のtableViewにはUIViewのサブクラスである_headerView_もあります。私はレシピの画像を表示するためにこれを使用します。これは私のtableViewの最初のセクションでなければなりません。 – Chace
また、「各スタティックセルが属するセクションと、そのセルが属するセクションのダイナミックセルを定義する」という意味は?現在私のtableViewは_Dynamic Prototyp_を使用しています。 – Chace
私の答えは完全な実装ではありませんでした。私はあなたが出発点として使用するためのテンプレートを提供しようとしていました。あなたがしたいように聞こえるのは、静的セルが作成されたときに呼び出されるxibとtableviewcellファイルを一緒に使用することです。あなたの2番目のコメントに対する答えは、静的なセルがxibに定義され、関連するswiftファイルがcellForRowAtを通してtableviewに配置されているということです。 – returnVoid