【发布时间】:2016-04-03 16:43:01
【问题描述】:
我想在 UIPopoverPresentationController 中呈现一个 viewController,就像我们选择语言时 iOS Setting App 所做的那样。它在设备屏幕的中心呈现了一个 viewController!
但是,我的结果不是这样的!
这是我的代码:
func rightButtonPressed(rightBarButton: UIBarButtonItem) {
let detailVC = self.storyboard?.instantiateViewControllerWithIdentifier("ExampleViewController") as! ExampleViewController
detailVC.modalPresentationStyle = .Popover
let popOverVC = detailVC.popoverPresentationController
popOverVC?.permittedArrowDirections = .Any
popOverVC?.barButtonItem = rightBarButton
popOverVC?.sourceView = self.view
popOverVC?.delegate = self
self.presentViewController(detailVC, animated: true, completion: nil)
}
还有代表:
extension DetailViewController: UIPopoverPresentationControllerDelegate {
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
debugPrint(controller.description)
return .Popover
}
func presentationController(controller: UIPresentationController, viewControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIViewController? {
let navController = UINavigationController.init(rootViewController: controller.presentedViewController)
return navController
}
}
【问题讨论】:
-
显示代码你当前的呈现方式
-
@JoeBenton 我添加了我的代码 :))
标签: ios swift ipad uipopover uipresentationcontroller