在 TabBarController 内的 NavigationController 内呈现来自 (Table)ViewController 的模态 ViewController

Presenting Modal ViewController from (Table)ViewController inside a NavigationController inside a TabBarController

当我尝试直接从 table 视图控制器(也可以是普通视图控制器)显示模态控制器时,它出现在选项卡栏后面并且看起来很丑陋,因为我正在使用模糊对它的影响。我正在使用导航控制器,因为我需要在顶部有一个栏,经过研究,发现这是最好的方法。

我发现做类似的事情:

self.parent?.parent?.present(ModelViewController(), animated: true, completion: nil)

想展示模态控制器的时候。但是,我想这不是很安全。正确的做法是什么?

为了让 ModalViewController 出现在标签栏的前面,它的 modalPresentationStyle 必须设置为 overFullScreen。因此,例如在初始化 ModalViewController 时:

self.modalPresentationStyle = .overFullScreen(Swift 3 语法)