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];
让我知道这是否有效。
我正在使用以下 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];
让我知道这是否有效。