UIPageViewController 中的 AlertViewController

AlertViewController within UIPageViewController

我正在使用以下 Storyboard 构建一个 Swift 3 应用程序:

左侧(绿色)是一个 UIPageViewController,它包含 2 个 NavigationController 作为 2 个页面。这允许用户在应用程序的 2 个子部分之间滑动。

问题如下。我正在尝试以黑色 UIViewController.

显示警报

这是显示警报的代码:

override func viewDidAppear(_ animated: Bool) {         
    let alert = UIAlertController(title: "Hello", message: "World", preferredStyle: UIAlertControllerStyle.alert)
    alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: { action in
        alert.dismiss(animated: true, completion: nil)
    }))
    self.present(alert, animated: true, completion: nil)
}

它有效,但我总是收到以下警告:

Presenting view controllers on detached view controllers is discouraged

我也尝试使用 DispatchQueue.main.async 来呈现视图,但我 运行 遇到了相同的警告。

但是我发现,如果我将 NavigationController(底部)设置为初始视图控制器,它会在没有警告的情况下工作。

那么,使用 UIPageViewController 是否意味着页面会有点分离?

我在这里错过了什么?我忘了 link 东西吗?

您可以尝试关注。

[self.view.window.rootViewController presentViewController:alert animated:YES completion:nil];

完成后可以关闭它。

[self dismissViewControllerAnimated:YES completion:nil];

让我知道这是否有效。