为什么我的导航控制器以模态方式进行转换而不是立即推送?

Why my navigation controller make transitions modally instead of push now?

正在寻求帮助解决一些我显然不明白的问题,因为我只是这里的初学者所以如果可以的话请帮助我。

这是我的问题,到目前为止,我通过故事板构建了所有视图,并且所有视图都由导航控制器使用 "push" 在故事板中设置的 segue 显示,到目前为止一切都按预期工作。

在某些时候,我决定在主视图控制器的下半部分添加日历视图,以便在用户按下按钮时显示。根据网上找到的一些建议,我决定将其添加为子视图控制器(并以编程方式完成)。

这是我用来呈现视图的代码:

addChild(calendarVC)
view.addSubview(calendarVC.view)
calendarVC.didMove(toParent: self)

这是我用来关闭视图的代码:

willMove(toParent: nil)
removeFromParent()

到目前为止一切正常,但问题在于:

触发 removeFromParent() 部分后,每个其他视图控制器之间的转换从推送更改为模态。几乎就像我以某种方式失去了与导航控制器的连接? 我不知道,而且我的知识水平太低无法自己弄清楚,任何通过搜索类似主题在这里找到答案的尝试也没有给我任何我能理解的答案,所以希望有人能阐明我的问题在这里。

谢谢

确保从子视图控制器调用 willMove(toParent: nil) removeFromParent()

从父视图调用上述函数将从导航层次结构中删除控制器。