在 swift 中更改弹出窗口的宽度

change the width of the popover in swift

我想更改弹出窗口的宽度并保持高度不变

例如,如果您在 iPad 上打开弹出窗口,高度约为屏幕的 70%-80%。我想保持不变,但需要增加宽度

我可以用这块clode,但是这里我也必须输入高度,这是我不想要的。

let vc = segue.destinationViewController
vc.preferredContentSize = CGSize(width: 200, height: 300)

非常感谢。

使height适应屏幕大小

var heightVariable = (self.view.frame.size.height * 70) / 100

现在,heightVariable,高度将始终是屏幕的 %70 height.So 你不需要给高度常数

let vc = segue.destinationViewController
vc.preferredContentSize = CGSize(width: 200, height: heightVariable) // change width

顺便说一句,您可以使用 UIDevice.current.userInterfaceIdiom 检测设备并更改视图的属性,例如:

if UIDevice.current.userInterfaceIdiom == .pad{
    // change width

 }else if UIDevice.current.userInterfaceIdiom == .phone{
// change width
 }