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
(2025/11/03 23:28:25時点 Amazon調べ-詳細)
(2025/11/03 23:28:25時点 Amazon調べ-詳細)



