如何在swift中解除父母的弹出窗口

时间:2015-06-08 11:16:33

标签: ios swift delegates

我是iOS和swift的新手。我试图展示一个弹出窗口。我设法显示一个弹出框,但问题是我需要从父母那里解雇它。

我可以使用此代码

从ViewController本身中删除popover
http://127.0.0.1:9200/myindex/type/_bulk
{
"update": {
    "_index": "myindex",
    "_type": "type",
    "_id": "myid"
}
}{
"doc": {
    "field": "new value"
}
}{
"update": {
    "_index": "myindex",
    "_type": "type",
    "_id": "id"
}
}{
"doc": {
    "field": "new value"
}
}

但我需要从父视图控制器执行此操作。

到目前为止我已经这样做了。单击按钮     performSegueWithIdentifier(" bookingPopOverSegue",sender:self)

关于prepareForSegue,

self.dismissViewControllerAnimated(true, completion: nil)

有关如何做到这一点的任何想法?任何帮助将不胜感激..

2 个答案:

答案 0 :(得分:16)

只需使用parent的presentsViewController属性调用dismiss方法,如....

self.presentedViewController.dismissViewControllerAnimated(true, completion: nil)

对于Swift 3.0

self.presentedViewController?.dismiss(animated: true, completion: nil)

答案 1 :(得分:-1)

如果您的popover 控制器是公开的(例如作为子视图控制器的属性),那么只需使用它:

// 'self' is the parent
// 'popoverController' is the name of the property
self.childViewController.popoverController.dismissPopoverAnimated(<true or false>)

换句话说,问题不在于弹出窗口,而是来自父级的可见性。