Dynamic Custom UITableView
2227 ワード
うんうん!今日はね.ViewControllerに各種のCustomViewを入れたいのですが、CustomViewを作成してViewControllerに入れたいのです.
では.Table ViewをUIViewに入れて書きましょう△これからCTableと申します.
さあ.私がやりたいのは、このCTableのheightは私が勝手です.すなわち定数には割り当てられない.私たちは自分で店を買いましょう.そしてCTableのheightを知る.
いつも出会うダイナミックな大きさの問題はははは、一度や二度ではありません!やってみよう.
デフォルトのサイズは248から、の更新を続行します.
理想のViewControllerに更新すればいいです.
view.addSubview(customTableView)
これは役に立たないでは.Table ViewをUIViewに入れて書きましょう△これからCTableと申します.
さあ.私がやりたいのは、このCTableのheightは私が勝手です.すなわち定数には割り当てられない.私たちは自分で店を買いましょう.そしてCTableのheightを知る.
いつも出会うダイナミックな大きさの問題はははは、一度や二度ではありません!やってみよう.
protocol heightDelegate {
func fh(h: CGFloat)
}
class CTableView: CustomView {
override func layoutSubviews() {
super.layoutSubviews()
table.layoutIfNeeded()
print("layoutIfNeed")
let frame: CGRect = table.frame
table.frame = CGRect(x: 0.0, y: 0.0, width: frame.width, height: table.contentSize.height) //table.contentSize.height
delegate?.fh(h: table.contentSize.height)
}
}
extension CTableView: UITableViewDelegate, UITableViewDataSource{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "헤드 입니다."
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! UITableViewCell
cell.textLabel!.text = "됐음 좋겠다"
cell.backgroundColor = #colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1)
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 30
}
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
self.layoutSubviews()
print("called willDisplay natural")
}
}
デフォルトのサイズは248から、の更新を続行します.
理想のViewControllerに更新すればいいです.
Reference
この問題について(Dynamic Custom UITableView), 我々は、より多くの情報をここで見つけました https://velog.io/@heunb/Dynamic-Custom-UITableViewテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol