autolayoutを使用して欲望の動作を達成したい(または、デリゲートなどを使用してこれを行うことができない場合)。私が持っているものは、1つの静的セルを持つtableViewです。このセルには、動的プロトタイプセルを持つtableViewControllerを持つcontainerViewがあります。containerViewが埋め込まれた静的セルの動的な高さ
私が望むのは、autolayoutを使用して、コンテナビューが埋め込まれている静的セルの高さを動的に設定できることです。
これは絵コンテです:containerViewを持っているのViewControllerで
:
は、これらは私の制約(コンテナビューのcontentViewと静的セル)です私が持っているスタティックセル内には、ViewDidLoadメソッド:
それは自動レイアウトを設定することが可能ではないことを意味override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
しかし、これで静的セルの高さは本当に小さいです...:
override func viewDidLoad() {
super.viewDidLoad()
courseDetailTableView.estimatedRowHeight = 200
courseDetailTableView.rowHeight = UITableViewAutomaticDimension
}
そしてstaticCellとのtableViewのデリゲートを使用してコンテナビューのcontentViewにもう1つの制約を設定すると、高さを400に設定し、そのセルの高さは400です。
私はちょうど、自動レイアウトで道を設定する方法があるのだろうと思っていたコンテナビューの高さと一致するように静的セルのghtを設定します。
私は多分最初containerViewの高さを計算し、それが可能な仕事、私は簡単な方法
があるかどうかを知りたい可能性にheightForRowを設定するには、この高さを使用して、デリゲートを使用していることを知ってはどうもありがとうございます。
なぜ、ContainerViewを含むもの、動的セルを持つUITableViewControllerを含んでいるのか、静的セルでこの混乱を招くのではなく、UITableViewControllerを使用しないでください。 –
こんにちは@TarasChernyshenko私は、ここにすべてのものをラップすることは少し混乱しているように思っています。しかし、これは、他のコントローラとコントローラの隣に2つのテーブルビューを持つそれ以降のバージョンに必要です。今では意味がありませんが、後でもっと簡単になります(少なくとも私はそう考えています) – neteot