gpt4 book ai didi

iOS:如何关闭当前UIViewcontroller中的其他UIViewcontroller

转载 作者:行者123 更新时间:2023-11-30 13:45:58 24 4
gpt4 key购买 nike

我有三个模式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”仍然显示在屏幕中并且没有消失。

最佳答案

在 View Controller 中存在的 View Controller 消失之前,不可能关闭该 View Controller 。作为替代方案,您可以尝试这种方式,在 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
//
})
}

关于iOS:如何关闭当前UIViewcontroller中的其他UIViewcontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34938210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com