我很难改变我的演示文稿的大小。这是我到目前为止所拥有的
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)
}
}
}
到目前为止,所有这些都是中心弹出式和删除箭头,这是很好的。但它不会调整容器的尺寸。任何帮助都将不胜感激。谢谢。
当我使用preferredContentSize时,我得到错误“不能赋值给属性:'preferredContentSize‘是不可变的”
发布于 2016-05-19 18:10:06
在正在呈现的视图控制器上设置首选内容大小,而不是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)
}
}
发布于 2017-07-05 10:31:51
我通过情节提要修复了它:单击控制器,单击属性检查器ViewController>,检查使用首选显式大小和输入值。
发布于 2020-07-06 09:14:53
使用自动布局的
值得一提的是,您可以使用布局约束,而不是将preferredContentSize设置为特定的值。为了这样做,
https://stackoverflow.com/questions/37335147
复制