我有三个模态UIViewController
“A”,“B”和“C”。 “A”和“C”是Portrait
,“B”是“LandscapeRight”我单击“A”中的按钮,“B”UIViewController
将出现,如果我单击“B”中的按钮,“C”UIViewController
将出现,当我点击“C”中的按钮时,我想让“B”UIViewController
在“C”UIViewController
解雇之前解除
我尝试将“B”UIViewController
添加到“C”并在点击按钮时忽略“B”
在“B”中
let c = UIViewController()
c.b = self
self.presentViewController(c, animated: true, completion: nil)
然后我点击“C”中的按钮
b.dismissViewControllerAnimated(true, completion: { () -> Void in
self.dismissViewControllerAnimated(true, completion: { () -> Void in
})
})
当“C”被解雇时,“B”仍然显示在屏幕上并且没有消失。
答案 0 :(得分:0)
在存在的视图控制器消失之前,无法关闭视图控制器。 作为替代方案,您可以尝试这种方式,在B中添加bool变量,并在C中更改变量。
B中的代码:
var shouldShow:Bool = true
override func viewWillAppear(animated: Bool) {
if !shouldShow{
self.dismissViewControllerAnimated(false) { () -> Void in
//
}
}
}
C代码:
@IBAction func clickButton(sender: AnyObject) {
vc!.shouldShow = false
self.dismissViewControllerAnimated(true, completion: { () -> Void in
//
})
}