我是iOS和swift的新手。我试图展示一个弹出窗口。我设法显示一个弹出框,但问题是我需要从父母那里解雇它。
我可以使用此代码
从ViewController本身中删除popoverhttp://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)
有关如何做到这一点的任何想法?任何帮助将不胜感激..
答案 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>)
换句话说,问题不在于弹出窗口,而是来自父级的可见性。