参考 mixi-inc/iOSTraining 4.2 uitableviewとnavigationcontroller
tableviewのセルを選択したときに、次の階層にpushさせてみましょう。
3.1のプロジェクトファイルを引き続き利用します。
push, popの画面遷移を行うために、先ほどのview controllerをnavigation controllerの上に乗っけます。
Initial View Controllerをnavigation controllerにして、rootViewControllerをview controllerにしてください。
UITableViewのあるセルが選択されると、delegateメソッドであるtableView(_:didSelectRowAt:)
が呼ばれます。
- このメソッドが呼ばれた時に、navigation controllerでpushできるようにしてみましょう。
- 新しく作るview controllerは新規でも既存のものでも構いません。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: false)
guard let viewController = storyboard?.instantiateViewController(withIdentifier: "ViewController") else {
return
}
viewController.title = "\(indexPath.row)"
navigationController?.pushViewController(viewController, animated: true)
}