呈现页面时出现 UiNavigation 错误
Posted
技术标签:
【中文标题】呈现页面时出现 UiNavigation 错误【英文标题】:UiNavigation error when presenting a page 【发布时间】:2018-06-10 13:44:08 【问题描述】:我正在编写 Swift 代码 在我的这部分代码中,它应该在选择表格中的单元格时打开一个视图控制器。
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
let next = self.storyboard?.instantiateViewController(withIdentifier: "SVC")
self.navigationController?.pushViewController(next!, animated: true)
self.present(next!, animated: true, completion: nil)
返回错误!!
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'应用程序试图呈现 模态的主动控制器
当我运行它时它可以正常工作,但是当它打开特定的视图控制器时它会崩溃并且屏幕冻结
【问题讨论】:
【参考方案1】:你应该使用这个
self.navigationController?.pushViewController(next!, animated: true)
或者这个
self.present(next!, animated: true, completion: nil)
编辑:使用这个
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
let next = self.storyboard?.instantiateViewController(withIdentifier: "SVC")
self.navigationController?.pushViewController(next!, animated: true)
【讨论】:
第一个再次崩溃,第二个工作,但它没有显示所有导航控制器代表的后退按钮! 当你把第一个当崩溃说什么 您不能同时使用两者请附上您尝试的最后一个代码 覆盖 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) let next = self.storyboard?.instantiateViewController(withIdentifier: "SVC") self.navigationController?.pushViewController(next!, 动画: true) self.present(next!, 动画: true, 完成: nil) 你应该明白两者都做导航但第一个显示在 navigationController 这是唯一的区别,所以在 self.present 行再次显示会导致崩溃跨度>以上是关于呈现页面时出现 UiNavigation 错误的主要内容,如果未能解决你的问题,请参考以下文章
将 Spring MVC 与 JSP 页面一起使用时出现错误 500