有人知道iPhone上是否可以用UIPopoverPresentationController
来展示Popover吗?想知道苹果是否在iOS 8上添加了这一功能,以try 为iPad和iPhone创建更统一的演示控制器.
不确定是否可以问/答Beta版的问题.那样的话,我就把它拿走.
有人知道iPhone上是否可以用UIPopoverPresentationController
来展示Popover吗?想知道苹果是否在iOS 8上添加了这一功能,以try 为iPad和iPhone创建更统一的演示控制器.
不确定是否可以问/答Beta版的问题.那样的话,我就把它拿走.
您可以使用
UIPresentationController
使用此方法要求使用新的演示样式,在您的情况下,只需返回UIModalPresentationNone
,UIPopoverPresentationController
就会呈现为popover,而不是全屏.
下面是一个在故事板中使用segue设置的Popor的例子,从UIBarButtonItem
到"present modally"a UIViewController
class SomeViewController: UIViewController, UIPopoverPresentationControllerDelegate {
// override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { // swift < 3.0
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "PopoverSegue" {
if let controller = segue.destinationViewController as? UIViewController {
controller.popoverPresentationController.delegate = self
controller.preferredContentSize = CGSize(width: 320, height: 186)
}
}
}
// MARK: UIPopoverPresentationControllerDelegate
//func adaptivePresentationStyleForPresentationController(controller: UIPresentationController!) -> UIModalPresentationStyle { // swift < 3.0
func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
// Return no adaptive presentation style, use default presentation behaviour
return .None
}
}
这个把戏在WWDC 2014 session 214 "View Controller Advancement in iOS8"(36:30)中被提到