我正在尝试制作一个弹出窗口,该弹出窗口将通过按一个按钮来显示。尝试按照我在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 的位置,大小,使其看起来像一个弹出窗口。
这是我以前做过的弹出窗口。