【Swift4】TableViewのカスタムセルの高さが変わらない問題の解決法
この記事の概要 UITableViewCellでカスタムセルのために使う.xibファイルを自前で用意したときに、何も設定を加えていない場合はカスタムセルの高さが自動的に変わらない。そこで、カスタムセルの高さに制約を加える方法について、自分なりにまとめた。 [図1] カスタムセルの画面 目次 この記事の概要 問題解決の指針 解説①: IBOutletのTableViewを使う方法 解説②: estimatedRowheightとautomaticDimensionを使う方法 まとめ 問題解決の指針 TableViewでカスタムセルを使うときに、高さを変えたい時ってありますよね。 例えば、TwitterやインスタグラムのようなSNSはTableViewを使っており、コンテンツの長さや高さによって、 そのセルの高さも変わっている。しかしカスタムセルの高さ変更は、Swiftではなかなか難しく、設定を加えないことでトラブルもよく起こる。 さて、カスタムセルの高さを変えたい時はどうすればいいのだろうか。 カスタムセルの高さを変えたい場合は、tableviewが入ったViewControllerに、このコードを書いてあげると、いいのである。 ポイントとしては、 ① @IBOutletのtableViewに、名前をつけてあげること。 ② そのtableviewにestimatedRowHeightと, rowHeightの二つを定義するコードを書いてあげること。 class ViewController : UIViewController { @IBOutlet weak var tableView : UITableView ! override func viewDidLoad () { super . viewDidLoad () self . tableView . estimatedRowHeight = 90 self . tableView . rowHeight = UITableViewAutomaticDimension } (以下省略) 以下で...