我正在尝试制作一个弹出窗口,该弹出窗口将通过按一个按钮来显示。尝试按照我在Google中找到的说明进行操作,但是我的弹出 View 以全屏显示,并且背景为黑色。
这是我的代码:

class ViewController: UIViewController, UIPopoverPresentationControllerDelegate {

    @IBAction func someButtonPressed(sender: UIButton) {
        let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let popupVC = storyboard.instantiateViewControllerWithIdentifier("hello") as! popupViewController
        popupVC.modalPresentationStyle = .Popover
        popupVC.preferredContentSize = CGSizeMake(300, 300)
        let pVC = popupVC.popoverPresentationController
        pVC?.permittedArrowDirections = .Any
        pVC?.delegate = self
        pVC?.sourceView = sender
        pVC?.sourceRect = CGRect(x: 100, y: 100, width: 1, height: 1)
        presentViewController(popupVC, animated: true, completion: nil)
    }
}

我做错了什么?

最佳答案

若要使 View Controller 显示为弹出窗口,应设置以下内容:

popupVC.modalPresentationStyle = .OverCurrentContext
popupVC.modalTransitionStyle = .CrossDissolve

您还应该设计 View Controller 的位置,大小,使其看起来像一个弹出窗口。

这是我以前做过的弹出窗口。

ios - 弹出式UIViewController-LMLPHP

10-08 03:23