Swift Popovers iOS 7 dismissViewController不工作

时间:2015-01-07 17:20:05

标签: ios swift

出于某种原因,使用Swift时,以下代码似乎不适用于iOS 7中的弹出窗口:

self.dismissViewControllerAnimated(true, completion: nil)

没有错误,但是popover并没有被忽视。它在iOS 8中运行良好。我需要在iOS 7中做一些不同的事情吗?

1 个答案:

答案 0 :(得分:0)

是的,在iOS8中,popovers被广泛重写为完全成熟的视图控制器。

要在iOS7中解雇,您需要在dismissPopoverAnimated:实例上调用UIPopoverController。您可以通过将引用传递给拥有的UIPopoverController到内容视图控制器,从内容控制器执行此操作。

像...

class MyViewController:UIViewController {

var parentPopover:UIPopoverController?


func dismissPopover() {

parentPopover?.dismissPopoverAnimated(true)

}

然后在设置时......

func popoverThatThing() {

let mvc = MyViewController()
let popover = UIPopoverViewController(contentViewController:mvc)
mvc.parentPopover = popover

popover.presentFromWhatever...


} 

甚至更容易,不支持iOS7