先週に続いて、今日も Swift の UITableView
の操作方法についてです。
今までは、単純なデータの表示くらいしかやったことがなかったので、予想以上に TableView が自由自在に操作ができて、若干驚いています。
今回は、Table セルの高さを個別に指定する方法です。
参考にさせていただいた記事はこちらから。
【Swift】TableViewでセルの高さを変更しよう – Qiita
https://qiita.com/misakiagata/items/3793a00e386c7a3ff39a
実装は下記のように関数をオーバーライドすればOKです。
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { if indexPath.row > 0 { return 50.0 } else { return 100.0 } }
上記の関数で高さを float 型
で返せば、該当するセルがその高さになります。
サンプルコードでは、1行目のセルだけ高さを 100 にし、それ以外のセルを 50 にしています。
処理を変えれば、奇数行は高さ 50、偶数行は高さ 100 などにすることもできます。
…実際にその処理が必要かどうかはわかりませんが…。
実装する処理としては以上です。
なお、蛇足ですが、セルの高さを可変にしたい場合は下記のように指定します。
self.tableView.estimatedRowHeight = 50 self.tableView.rowHeight = UITableView.automaticDimension
estimatedRowHeight
はセルの見積もりの高さとのことです。
最初はこちらの書き方をしていたのですが、2行目以降のセルの高さが低すぎてレイアウトが崩れてしまったので、手動で指定するように変更しました。
以上、Swift で UITableView の高さをセルごとに指定する方法でした。
ご参考になれば幸いです。