2016-05-13 77 views
5

我試圖做一個彈出窗口,將通過按下按鈕呈現。試圖按照我在谷歌找到的說明,但我的流行視圖呈現在全屏幕和背景是黑色的。 這裏是我的代碼:Popup UIViewController

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) 
    } 
} 

我做錯了什麼?

回答

16

爲了顯示爲一個彈出視圖控制器,你應該設置如下:

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

你也應該設計自己的視圖控制器的位置,大小,使它看起來像一個彈出窗口。

這是我之前做的彈出窗口。

enter image description here