gpt4 book ai didi

iOS8 - 呈现模态视图会删除 subview

转载 作者:可可西里 更新时间:2023-11-01 05:53:31 26 4
gpt4 key购买 nike

我正在更新我们的应用程序以使用 xcode6/iOS8 进行编译。

我遇到的一个问题是当呈现模态视图时。底层 subview 被删除。它完全变黑了..直到模态视图消失..然后它重新出现。

有人用 iOS8 遇到过这个问题吗?相同的代码自 iOS4 以来一直有效。

代码:

    PigDetailViewController *pigDetailViewController = [[PigDetailViewController alloc] initWithNibName:@"PigDetailViewController" bundle:nil];

self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;
self.navigationController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;


[self presentViewController:pigDetailViewController animated:YES completion:nil];

最佳答案

在 iOS 8 中,他们添加了一种新的表示样式,在您描述的情况下,它的行为类似于 UIModalPresentationCurrentContext,它是 UIModalPresentationOverCurrentContext。这里要注意的是,与 UIModalPresentationCurrentContext 不同,您希望将 View Controller 设置为使用这种呈现样式呈现,如下所示:

PigDetailViewController *pigDetailViewController = [[PigDetailViewController alloc] initWithNibName:@"PigDetailViewController" bundle:nil];
pigDetailViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext;
self.navigationController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:pigDetailViewController animated:YES completion:nil];

请注意,要支持 iOS 7 及更低版本,您可能需要检查操作系统版本并根据该版本决定如何呈现 View Controller 。

编辑:我想再补充一点。在带有 UIModalPresentationCurrentContext 的 iOS7 中,当呈现的 VC 被关闭时,底层 VC 会调用其 viewDidAppear 方法。在带有 UIModalPresentationOverCurrentContext 的 iOS8 中,我发现底层 VC 在其上方显示的 VC 被关闭时没有调用其 viewDidAppear 方法。

关于iOS8 - 呈现模态视图会删除 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872291/

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