我花了一整天时间构建并重新构建一个简单的弹出视图。但无论我做什么,popover视图一直延伸到ViewController的底部,显示popover。我是新手但是已经搜索了一整天,并且无法找到任何有效的解决方案为了我。我将不胜感激任何帮助!在下面找到我的代码:
的ViewController:
class ViewController: UIViewController,
UIPopoverPresentationControllerDelegate {
...
@IBAction func studyButtonPressed(sender: AnyObject) {
self.performSegueWithIdentifier("StudyPopover", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "StudyPopover" {
let vc = segue.destinationViewController
let controller = vc.popoverPresentationController
if controller != nil {
controller?.delegate = self
}
}
}
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return .None
}
答案 0 :(得分:0)
所以我终于找到了解决这个问题的方法。当我意识到在大多数设备模拟时弹出窗口工作正常但是在iPhone 6 plus上不起作用时,我有了突破。然后我可以缩小搜索解决方案的范围,最后发现我必须将traitCollection: UITraitCollection
添加到我的adaptivePresentationStyleForPresentationController
函数中。
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
return .None
}
这使得弹出窗口的行为与普通尺寸的iPhone,iPhone 6 plus或iPad设备的行为相同。