gpt4 book ai didi

ios - 无法使用 parentViewController (Swift) 关闭 viewController

转载 作者:搜寻专家 更新时间:2023-11-01 06:20:02 24 4
gpt4 key购买 nike

我正在尝试像这样关闭 View Controller :

func cropViewController(cropViewController: TOCropViewController!, didFinishCancelled cancelled: Bool) {

if let vc = cropViewController.parentViewController {
print("has controller")
vc.dismissViewControllerAnimated(true, completion: nil)
}

}

TOCropViewController 是 UIViewController 的子类。有时我从 self 显示它,有时从 picker (一个 UIImagePicker Controller )显示它。我试图通过访问父级来关闭它,但是 if 语句中的代码都没有执行。它似乎无法找到 Controller 。任何想法我可能在这里做错了什么?任何帮助将非常感激!谢谢!

最佳答案

呈现的 View Controller 没有父对象,它有一个呈现器。这可能会造成混淆。

您可以发送dismissViewControllerAnimated(_:completion:)到呈现的 View Controller 让它自己消失:

If you call this method on the presented view controller itself, UIKit asks the presenting view controller to handle the dismissal.

或者你可以向 View Controller 询问它的呈现 View Controller ,并要求呈现器关闭呈现的 View Controller :

    if let vc = cropViewController.presentingViewController {
print("has presenter")
vc.dismissViewControllerAnimated(true, completion: nil)
}

关于ios - 无法使用 parentViewController (Swift) 关闭 viewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35486207/

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