我正在使用以下Storyboard构建一个Swift 3应用程序:
左侧(绿色)是 UIPageViewController ,它将2 NavigationController 保存为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 是否意味着页面会被分离?
我在这里缺少什么?我忘了链接东西吗?
答案 0 :(得分:1)
您可以尝试以下操作。
[self.view.window.rootViewController presentViewController:alert animated:YES completion:nil];
完成后你可以解雇它。
[self dismissViewControllerAnimated:YES completion:nil];
让我知道这是否有效。