尝试以特定尺寸显示弹出控制器

wm.*_*1us 3 popover ios swift

找到了几个如何使用弹出框的视频,并试图用故事板制作同样的视频,所以我明白了:

在此处输入图片说明

但是,随着应用程序的运行,当我按下按钮时,这个橙色的小控制器会占据所有绿色屏幕,而不是像我预期的那样带有箭头的小弹出框。

And*_*ini 6

为了能够在酥料饼,以显示这种视图控制器(橙色),你必须定义modalPresentationStylepopover这样做:

class ParentViewController: UIViewController, UIPopoverPresentationControllerDelegate {
    func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
        return .none
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "PopoverSegue" {
            let popoverVc = segue.destination
            popoverVc.modalPresentationStyle = .popover
            popoverVc.popoverPresentationController?.delegate = self;
            popoverVc.preferredContentSize = CGSize(width: 250, height: 250)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

记得PopoverSegue在界面构建器中设置 segue 标识符(或其他):

在此处输入图片说明

以下自由格式大小(在运行时忽略)对于在界面构建器中模拟您的弹出视图很重要:

在此处输入图片说明

最终结果是:

在此处输入图片说明