//参考にさせていただいたURL: http://www.swift-study.com/uitableview-auto-cell-height/
今回セルの高さを自動設定するを見ていて自分はちょっとつまづいたので、記事を書いて見ました。
今回ここに来る前に、おそらく設定をするのに。
・XIb上のセルの(高さ調節したい)ラベルの制約(上下、左右つける。)※heightは設定しない。
・viewDidLoad内に
.swift
tableView.estimatedRowHeight = 20 //セルの高さ
tableView.rowHeight = UITableViewAutomaticDimension //自動設定
・高さを調節するラベルの行数の制限を0にする
まで行ってきたかと思います。
本当にこれだけ書いていればできるのですが、
セルの高さを決める
.swift
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {}
メソッドに何か高さを指定していたらできません。
なのでviewDidLoad内に書いてあった
.swift
tableView.estimatedRowHeight = 20 //セルの高さ
tableView.rowHeight = UITableViewAutomaticDimension //自動設定
の記述は、
.swift
/*
セルの高さを設定
*/
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
tableView.estimatedRowHeight = 20 //セルの高さ
return UITableViewAutomaticDimension //自動設定
}
に書き直してください。
セルの高さの設定(デリゲートメソッド)を消すかどっちかにしてください。
当たり前なのか、こういう書き方を見つけられなかったからなのか?見当たらない気がしたので書いて見ました。
一人でもあ~!!ってなってくれる方がいたら嬉しいです。