Swift - 如何在 UIAlertController 中放置页面视图?
Swift - How do I place a page-view within a UIAlertController?
我正在使用 Swift 3, Xcode 8.2.
我有一个应用程序,用户可以在其中启动 iPhone 相机,然后我给他们一个弹出窗口,其中包含有关如何拍摄好照片的说明。我希望有一种方法可以在 UIAlertController
中创建页面。我快速勾画了我想要实现的目标。
代码明智,我不确定该怎么做:
func displayInstructions() {
let insController = UIAlertController(title: "Instructions", message: "Step 1: Do this.", preferredStyle: .alert)
let actionDone = UIAlertAction(title: "OK", style: .cancel) { (action:UIAlertAction) in
//This is called when the user presses the cancel button.
print("You've pressed the done button");
}
//Add the buttons
errorController.addAction(actionDone)
// Some way to addSubviews here??
let pageViewController: UIPageViewController
insController.addSubview(pageViewController)
//Present the instruction controller
self.present(insController, animated: true, completion: nil)
}
如有任何帮助,我们将不胜感激。谢谢!
UIAlertController
上有一个 属性,没有在 public API 中做广告,但似乎可以使用,而且无需通过应用商店审核。因此,使用 KVC,您可以设置警报控制器的 contentViewController
。
let pageViewController: UIPageViewController
// configure pageViewController...
insController.setValue(pageViewController, forKey: "contentViewController")
您还可以通过在其上设置 preferredContentSize.height
来设置 contentViewController
的大小
pageViewController.preferredContentSize.height = 180
这是空页面视图控制器的结果
我正在使用 Swift 3, Xcode 8.2.
我有一个应用程序,用户可以在其中启动 iPhone 相机,然后我给他们一个弹出窗口,其中包含有关如何拍摄好照片的说明。我希望有一种方法可以在 UIAlertController
中创建页面。我快速勾画了我想要实现的目标。
代码明智,我不确定该怎么做:
func displayInstructions() {
let insController = UIAlertController(title: "Instructions", message: "Step 1: Do this.", preferredStyle: .alert)
let actionDone = UIAlertAction(title: "OK", style: .cancel) { (action:UIAlertAction) in
//This is called when the user presses the cancel button.
print("You've pressed the done button");
}
//Add the buttons
errorController.addAction(actionDone)
// Some way to addSubviews here??
let pageViewController: UIPageViewController
insController.addSubview(pageViewController)
//Present the instruction controller
self.present(insController, animated: true, completion: nil)
}
如有任何帮助,我们将不胜感激。谢谢!
UIAlertController
上有一个 属性,没有在 public API 中做广告,但似乎可以使用,而且无需通过应用商店审核。因此,使用 KVC,您可以设置警报控制器的 contentViewController
。
let pageViewController: UIPageViewController
// configure pageViewController...
insController.setValue(pageViewController, forKey: "contentViewController")
您还可以通过在其上设置 preferredContentSize.height
来设置 contentViewController
的大小
pageViewController.preferredContentSize.height = 180
这是空页面视图控制器的结果