две возможности. Если у вас нет навигационного контроллера (я обычно делаю), добавьте эту строку перед закрывающей скобкой:
self.present(vc, animated:true, completion:nil)
Если у вас есть навигационный контроллер добавить вместо этого:
self.navigationController?.pushViewController(vc, animated: true)
Edit: (для отладки, есть ли ваш навигационный контроллер)
если вы изменили? к! и вы получаете исключение при его запуске, тогда навигационного контроллера там нет. укажите код, в котором вы определили навигационный контроллер. Я хотел бы сделать это в AppDelegate, как это:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let startupVC = SomeViewController()
self.window! = UIWindow(frame: UIScreen.main.bounds)
let mainNavConn = UINavigationController(rootViewController: startupVC)
self.window!.rootViewController = mainNavConn
self.window!.backgroundColor = UIColor(red: 1.0, green: 0.0, blue: 0.5, alpha: 1.0)
self.window!.makeKeyAndVisible()
return true
}
У меня есть контроллер навигации. Добавлен код, который вы поделили, но все еще не открыли контроллер. –
если вы измените? к! и вы получаете исключение при его запуске, тогда навигационного контроллера там нет. укажите код, в котором вы определили навигационный контроллер. Я бы сделал это в AppDelegate следующим образом: – Mozahler
я не определял навигационный контроллер в любом месте –