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

问题描述 投票:0回答:1

我想寻求一些问题的帮助,但我显然不明白,因为我只是初学者,所以如果可以的话,请帮助我。

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

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

下面是我用来显示视图的代码。

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

这里是我用来取消视图的代码。

willMove(toParent: nil)
removeFromParent()

到目前为止,一切都很好,但这里有一个问题:

在触发removeFromParent()部分后,每个其他视图控制器之间的过渡从push变成了modal。我不知道,而且我的知识水平太低,无法自己解决,在这里搜索类似的主题也没有得到任何我可以理解的答案,所以希望有人能在这里为我的问题提供帮助。

谢谢大家

ios swift uinavigationcontroller segue
1个回答
1
投票

确保你调用 willMove(toParent: nil) removeFromParent() 从子视图控制器中调用上述函数。

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

© www.soinside.com 2019 - 2024. All rights reserved.