TableViewのセルがタップされたら、そのセルの背景色を変えたり、テキストを変更したりしたい場合ってありますよね。
この記事ではその方法を解説します。
実装方法
セルがタップされた時にはtableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) が呼ばれるので、その中でタップされたセルを取得し、そのセルの背景色やUI部品をいじればOKです。
extension ViewController: UITableViewDelegate {
// セルがタップされた時の処理
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: false)
// タップされたセルの取得
let cell = self.tableView.cellForRow(at:indexPath)
// セルの背景色を変更する
cell.backgroundColor = UIColor.lightGray
}
}
タップされたセルは self.tableView.cellForRow(at:indexPath) で取得することができます。
もしカスタムセルを使っている場合は、次のように強制的にダウンキャストしてください。
// カスタムセルをMyListCellとして定義し、使う場合
tableView.cellForRow(at:indexPath) as! MyListCell
created by Rinker
¥3,536
(2024/11/23 14:06:16時点 Amazon調べ-詳細)
(2024/11/23 14:06:16時点 Amazon調べ-詳細)