检测popover dismiss

时间:2016-03-27 10:59:09

标签: xcode swift uikit uipopover

我知道我可以使用popoverPresentationControllerDidDismissPopover但只有当用户点击弹出窗口视图以解除它时才会调用它。 当我手动关闭popover(popover的ViewController中的self.dismissViewControllerAnimated(true, completion: nil))时没有任何反应。

1 个答案:

答案 0 :(得分:3)

Popover Dismiss!

有两种方法可以检测到popover dismiss: 1.在mainViewController中检测它实际生成的位置,我的意思是ParentViewController。

使用parentViewController作为主要生成个人

class ViewController: UIViewController, UITableViewDataSource,
UITableViewDelegate, UIPopoverPresentationControllerDelegate {

现在正在实施这些功能

func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
        return .none
    }



func popoverPresentationControllerDidDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) {

        print("Popover dismisssed")
    }
  1. 检测用于处理故事板中制作的popOverView的控制器。

    func dismiss() {
    
    self.dismiss(animated: true, completion: nil)
    print("DISMISSS")
    
    }
    
    @IBAction func cancelClicked(_ sender: Any) {
    
        dismiss()
    }
    
  2. 注意:对于故事板,您可以询问更多详细信息。