鉴于:
presentingViewController
属性)dismiss
并且什么也不做我想要达到的目标:
限制:
到目前为止我发现了什么:
dismiss(animated:completion
according to the documentation将调用转发到它的 presentingViewController
。但似乎 dismiss(animated:completion
是 not 调用的,而是一个私有(private)方法 _performCoordinatedPresentOrDismiss:animated:
。presentingViewController
具有误导性。它说“呈现的 View Controller 将此属性设置为呈现它的 View Controller ”,但事实并非如此。在 iOS 11 中,这将始终指向调用 present
的 VC 的根父 VC。同样的 documentation on presentedViewController
具有误导性。它说“调用该方法的 View Controller 将此属性设置为它呈现的 View Controller ”,这不是全部。调用 present
的 VC 层次结构中的每个 VC(其所有父 VC 和子 VC)都将指向相同的 presentedViewController
。在您的 Controller A 中,将其命名为 UINavigationControllerDelegate
并用 navigationController:didShowViewController
标记 Controller B 的表示(isControllerBisPresented = true
)。当 B 的 viewDidAppear
时,检查 isControllerBisPresented
是否为真。
关于ios - PresentingViewController 如何获得通知其 PresentedViewController 自行解散?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47350720/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |