gpt4 book ai didi

iphone - 带有转换的 UIModalPresentationCurrentContext?

转载 作者:太空狗 更新时间:2023-10-30 03:24:50 26 4
gpt4 key购买 nike

我正在尝试模态呈现如下所示的 View Controller :

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"addPopover"];
vc.view.backgroundColor = [UIColor clearColor];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentModalViewController:vc animated:YES];

现在使用 UIModalPresentationCurrentContext 意味着我可以用透明背景呈现这个 View ,并在新 View 后面看到我的另一个 View 。但是,它使我无法通过过渡来呈现它。

有什么想法吗?或者我该如何解决这个问题?谢谢。

最佳答案

我能够通过在我的 UIWindow 的 rootViewController 上设置 modalPresentationStyle = UIModalPresentationCurrentContext 来完成此操作,前提是我没有在此 rootViewController 上显示任何新的全屏 viewController。我做了这样的事情:

UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
rootViewController.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:vc animated:YES completion:nil];

我已经尝试过使用 UINavigationController 作为我窗口的 rootViewController 和其他各种自定义 View Controller 。似乎只要窗口的 rootViewController 知道发生了什么,任何子 viewController 都可以调用 presentViewController:animated:completion: 而不会遮挡底层 View 。

但是,假设您在窗口的 rootViewController 之上呈现了另一个 viewController。这个新的 viewController 显示为 modalPresentationStyle = UIModalPresentationFullScreen(即占据屏幕),然后您必须在最顶层的 viewController 上调用 modalPresentationStyle = UIModalPresentationCurrentContext

总结一下:

  • 如果您有 UINavigationController -> UIViewController(s)(它们可以被插入和弹出),那么您可以在 UINavigationController 上设置 modalPresentationStyle = UIModalPresentationCurrentContext
  • 如果您有 UINavigationController -> UIViewController -> new-UIViewController(modalPresentationStyle 设置为 UIModalPresentationFullScreen),则在 new-UIViewController 上设置 modalPresentationStyle = UIModalPresentationCurrentContext

希望这对你们也有用!

关于iphone - 带有转换的 UIModalPresentationCurrentContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12736394/

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