У меня есть табличное представление, и я хочу перейти к другому vc, когда один из строк постучал. моя функция didSelectRowAtIndexPath выглядит следующим образом. команда print работает и показывает строку с правым щелчком. но когда я использую self.navigationController? .pushViewController, он не переходит на vc с playVideo storyBoardId. после его изменения в presentViewController он работает. что случилось с моим кодом, который не работает?pushViewController не делает никаких действий
благодаря
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("clicked " + String(indexPath.row))
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("playVideo") as! PlayVideoViewController
vc.id = self.video[indexPath.row].id
// Present View as Modal
//presentViewController(vc as UIViewController, animated: true, completion: nil)
// Push View
//self.navigationController?.pushViewController(vc, animated: true)
}
PlayVideoViewController не является корневым контроллером навигации, поэтому метод pushViewController не запускается. Вам нужно добавить контроллер навигации, перейдя на раскадровку, выберите PlayVideoViewController, в верхнем меню выберите «Редактор» -> «Вставить» -> «Контроллер навигации». Теперь ваш PlayVideoViewController станет корнем навигационного контроллера, и pushViewController должен работать нормально. – muazhud
@muazhud Я сделал это так же, как вы и Bseaborn сказал. но все же он не работает –