如何改变popover的大小

我无法改变我的popover演示文稿的大小。 这是我迄今为止

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) // func for popover { if segue.identifier == "popoverView" { let vc = segue.destinationViewController let controller = vc.popoverPresentationController if controller != nil { controller?.delegate = self controller?.sourceView = self.view controller?.sourceRect = CGRect(x:CGRectGetMidX(self.view.bounds), y: CGRectGetMidY(self.view.bounds),width: 315,height: 230) controller?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0) } } } 

到目前为止,所有这一切都是中心的stream行和删除箭头,这是很好的。 但它不会调整容器的大小。 任何帮助将不胜感激。 谢谢。

当我使用preferredContentSize时,我得到错误“不能分配给属性:'preferredContentSize'是不可变的”

在显示的视图控制器上设置首选的内容大小,而不是popoverPresentationController

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) // func for popover { if segue.identifier == "popoverView" { let vc = segue.destinationViewController vc.preferredContentSize = CGSize(width: 200, height: 300) let controller = vc.popoverPresentationController controller?.delegate = self //you could set the following in your storyboard controller?.sourceView = self.view controller?.sourceRect = CGRect(x:CGRectGetMidX(self.view.bounds), y: CGRectGetMidY(self.view.bounds),width: 315,height: 230) controller?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0) } } 

我通过故事板修复它:单击您的控制器单击属性检查器ViewController>检查使用首选的显式大小和input值。 检查图像