はじめに
UITableViewのあるセルをデフォルトで選択状態にしたい時は、2つの方法がある。
方法1
selectRow(at: , animated: , scrollPosition: )
を使う。
final class ~~Controller: UIViewController {
@IBOutlet private weak var controlSpeedTableView: UITableView!
let indexPath = IndexPath(row: 0, section: 0)
self.controlSpeedTableView.selectRow(at: indexPath, animated: false, scrollPosition: .none)
}
使い方のイメージはこんな感じ。
シンプルに選択状態をセットするなら、これ使う。
方法2
tableView(_:didSelectRowAt:)
メソッドを呼ぶ。
extension ~~Controller: UITableViewDelegate {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// cellを選んだ時の処理
}
}
final class ~~Controller: UIViewController {
@IBOutlet private weak var controlSpeedTableView: UITableView!
let indexPath = IndexPath(row: 0, section: 0)
self.tableView(self.controlSpeedTableView, didSelectRowAt: indexPath)
}
使い方のイメージはこんな感じ。
選択時に追加処理があるなら、これ使う。
終わりに
delegate設定を忘れずに...