Ios Popover视图控制器显示为拉伸状态,未调整大小

Ios Popover视图控制器显示为拉伸状态,未调整大小,ios,swift,popover,Ios,Swift,Popover,我正在尝试显示一个具有模态表示样式-popover的视图控制器。 问题是视图控制器显示为拉伸状态,而不是调整自身大小以适应我设置的preferedcontentsize 这是显示视图控制器的代码: let vc = self...... vc.modalPresentationStyle = .Popover vc.delegate = self let popover = vc.popoverPresentationController vc.preferredContentSize = CG

我正在尝试显示一个具有模态表示样式-popover的视图控制器。 问题是视图控制器显示为拉伸状态,而不是调整自身大小以适应我设置的preferedcontentsize

这是显示视图控制器的代码:

let vc = self......
vc.modalPresentationStyle = .Popover
vc.delegate = self
let popover = vc.popoverPresentationController
vc.preferredContentSize = CGSizeMake(360,291)
popover!.sourceView = self.topBarView
popover!.delegate = self
popover!.sourceRect = CGRectMake(0,145,0,0)
popover?.popoverBackgroundViewClass = CustomUIPopoverBackgroundView.self
self.presenetViewController(vc,animated:true,completion:nil)
CustomUIPopoOverBackgroundView具有以下相关代码:

override class func contentViewInsets () -> UIEdgeInsets {
    return UIEdgeInsets(top:0,left:0,bottom:0,right:0)
}
我将用一个屏幕快照来更新这篇文章,以说明问题所在。 如果你需要任何额外的细节,请告诉我


谢谢

请注意,iPhone不支持PopOver演示样式,因为水平大小类比较紧凑(iPhone6+/S上的横向是个例外)。 如UIViewController文档中所述:

  • UIModalPresentationPopover 在水平规则环境中,一种显示样式,其中内容显示在弹出视图中。背景内容变暗,点击popover外会导致popover被取消。如果不希望点击关闭popover,可以将一个或多个视图指定给关联UIPopoverPresentationController对象的passthroughViews属性,该属性可以从popoverPresentationController属性获得
在水平紧凑的环境中,此选项的行为与UIModalPresentationFullScreen相同


好的,我试着只使用全屏选项,但是视图控制器被拉伸显示,并且只覆盖了部分视图的全屏显示。有什么想法吗?我再问一次——你在用iPhone吗?如果你是这样的话,Popover演示并不能解决你的问题,因为iPhone不支持它。