我如何知道是否正在显示 ModalViewController?

发布于 2024-09-15 06:31:46 字数 403 浏览 4 评论 0原文

当设备处于横向模式时,我在主 ViewController 中重写 -orientationChanged 以推送 ModalViewController A。当放回纵向模式时,ModalViewController A 将被关闭。但是,在其他情况下(按钮触摸后)会显示 ModalViewController B、C 或 D。当这些显示时,如果设备横向旋转并返回,ModalViewController BC 或 D 将被不恰当地关闭。

即使显示 ModalViewController,我也可以验证主 ViewController 上的 -orientationChanged 是否正在发送消息。当显示 ModalViewController BC 或 D 时,是否可以在 -orientationChanged 方法中添加一个条件来绕过该代码?

谢谢你!

I override -orientationChanged in my main ViewController to push ModalViewController A when the device is in landscape mode. When placed back in portrait mode, ModalViewController A is dismissed. However, there are other cases (after button touches) where ModalViewControllers B, C, or D are shown. When those are showing, if the device is turned landscape and turned back, ModalViewController B C or D is dismissed, inappropriately.

I can verify that -orientationChanged on my main ViewController is being messaged even when a ModalViewController is shown. Is there a condition I can add to my -orientationChanged method to bypass that code when ModalViewController B C or D is being shown?

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雪若未夕 2024-09-22 06:31:46

您可以检查主视图控制器中的 modalViewController 属性是否是您的视图控制器之一。

You can check if the modalViewController property in your main viewcontroller is one of your view controllers.

差↓一点笑了 2024-09-22 06:31:46

您可以使用此代码来查找最后一个 ModalViewController 是什么。

UIViewController *leafController = self;
while(true) {
    if (leafController.modalViewController) {
        leafController = leafController.modalViewController;
        continue;
    }
    break;
}
[leafController presentModalViewController:showController animated:YES];

You can use this code to find what is the last ModalViewController.

UIViewController *leafController = self;
while(true) {
    if (leafController.modalViewController) {
        leafController = leafController.modalViewController;
        continue;
    }
    break;
}
[leafController presentModalViewController:showController animated:YES];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文