导航控制器为零,但嵌入在视图控制器中
Navigation Controller is nil, though embedded in a view controller
如您所见,我的导航控制器嵌入在根视图控制器中。在这个视图控制器中,我有一个子视图,并且在某一时刻,我将弹出窗口推到视图控制器上。出于某种原因,我无法使用 navigationController.popViewController(animated: true)
,因为导航控制器为 nil(通过将值打印到调试控制台)。我该如何解决这个问题?
使用dismiss(animated flag: Bool, completion: (() -> Void)? = nil)
。从您的弹出视图控制器调用它:
self.dismiss(animated: true)
如果您展示来自 ViewController
的弹出窗口
self.present(popover, animated: true, completion: nil)
您可以在弹出窗口中关闭它
self.dismiss(animated: true)
并且如果您通过
将弹出窗口推送到导航控制器
self.navigationController?.pushViewController(popover, animated: true)
您可以使用
关闭弹出窗口
self.navigationController?.popViewController(animated: true)
如您所见,我的导航控制器嵌入在根视图控制器中。在这个视图控制器中,我有一个子视图,并且在某一时刻,我将弹出窗口推到视图控制器上。出于某种原因,我无法使用 navigationController.popViewController(animated: true)
,因为导航控制器为 nil(通过将值打印到调试控制台)。我该如何解决这个问题?
使用dismiss(animated flag: Bool, completion: (() -> Void)? = nil)
。从您的弹出视图控制器调用它:
self.dismiss(animated: true)
如果您展示来自 ViewController
的弹出窗口self.present(popover, animated: true, completion: nil)
您可以在弹出窗口中关闭它
self.dismiss(animated: true)
并且如果您通过
将弹出窗口推送到导航控制器self.navigationController?.pushViewController(popover, animated: true)
您可以使用
关闭弹出窗口self.navigationController?.popViewController(animated: true)