我在我的应用程序中实现了Popover
并对其进行了测试。它可以在iPad上正常工作,但是当我在iPhone上测试它时,它将显示完整的故事板,而不是显示Popover
。请帮我。
这是我的代码:
@IBAction func MenuIsClick(sender: AnyObject) {
var moveToNextVC:MenuViewController
moveToNextVC = self.storyboard?.instantiateViewControllerWithIdentifier("MenuViewController") as! MenuViewController
moveToNextVC.modalPresentationStyle = .Popover
moveToNextVC.preferredContentSize = CGSizeMake(200, 200)
if let popoverController = moveToNextVC.popoverPresentationController {
popoverController.sourceView = sender as! UIView
popoverController.sourceRect = CGRect(x: 0, y: 0, width: 85, height: 30)
popoverController.permittedArrowDirections = .Any
popoverController.delegate = self
}
presentViewController(moveToNextVC, animated: true, completion: nil)
}
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController!, traitCollection: UITraitCollection!) -> UIModalPresentationStyle {
return .None
}
修改:由于Popover无法在iPhone上运行,但是当引用此EthanStrider/iOS-Projects时,它可以正常工作。怎么样?
答案 0 :(得分:1)
UIPopoverController's仅适用于iPad。
Popover控制器仅适用于iPad设备。 尝试在其他设备上创建一个会导致异常。
虽然使用iOS 8+,但它不再崩溃,它将作为全屏模式演示执行..
答案 1 :(得分:0)
UIPopoverController仅适用于iPad设备。您可以参考Apple docs进行验证。
如果你真的想在iPhone上使用popover,你可以使用像WYPopoverController这样的第三方控件。
答案 2 :(得分:0)
您可以使用此控件。