2017-10-07 152 views
0

我已經創建了彈出窗口,其中有兩個按鈕。點擊彈出窗口中的按鈕時,我想關閉彈出窗口。如何在點擊按鈕時快速關閉彈出窗口?

這是我的代碼: FirstViewController:

@IBAction func bar_button(_ sender: UIBarButtonItem) { 

    let vc = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! 
    SecondViewController 
    vc.preferredContentSize = CGSize(width: 200,height:80) 
    let navController = UINavigationController(rootViewController: vc) 
    navController.modalPresentationStyle = UIModalPresentationStyle.popover 

    let popover = navController.popoverPresentationController 
    popover?.delegate = self 
    popover?.barButtonItem = sender as! UIBarButtonItem 
    self.present(navController, animated: true, completion: nil) 

} 

SecondViewController:

@IBAction func second_button(_ sender: UIButton) { 
    //want to dismiss popover when button clicked 
     } 
@IBAction func second_button(_ sender: UIButton) { 
    //want to dismiss popover when button clicked 
     } 

回答

1

呼叫

dismiss(animated: true, completion: nil) 

這些方法裏面,這將解僱提出酥料餅。

+0

但之後,它給出了這個警告 - 要求UIPopoverBackgroundVisualEffectView動畫的不透明度。這將導致該效果顯示中斷,直到不透明度返回到1. – Abhishek

+0

@Abhishek:此問題已在下面的答案中簡要解決,請看看並讓我知道它是否解決您的問題,https://stackoverflow.com /問題/ 41589946/uipopoverbackgroundvisualeffectview,是幸福,問到有生命的,它的不透明度 – Bharath

相關問題