iOS 13.1 Objective-C ModalPresentation 全屏
Posted
技术标签:
【中文标题】iOS 13.1 Objective-C ModalPresentation 全屏【英文标题】:iOS 13.1 Objective-C ModalPresentation Fullscreen 【发布时间】:2019-09-25 15:13:40 【问题描述】:在 ios 13 中发现了下一个奇怪的错误,它以模态方式呈现在全屏视图控制器上。最初它坏了,它不是全屏打开的,所以我尝试了下面描述的方法 this link 现在它加载并等待触摸屏幕上的任何位置。 目前这是父视图控制器,它应该以模态方式显示TermsVC
mainView.hidden = YES;
IDTermsViewController *termsVC = [[self storyboard] instantiateViewControllerWithIdentifier:@"IDTermsViewController"];
termsVC.delegate = self;
if (@available(iOS 13.0, *))
[termsVC setModalPresentationStyle: UIModalPresentationFullScreen];
[self presentViewController:termsVC animated:YES completion:nil];
目前,在展示了这个 termsVC 之后,我得到了下一个状态,如下面的屏幕截图所示。如果我做任何动作 - 摇动手机,截屏,点击任意位置 - 就会出现TermsVC!
在以前的 ios 版本上工作正常。
【问题讨论】:
它最初没有被破坏。 iOS 13 更改了模式的默认呈现方式。不要与之抗争,拥抱它。 您应该做的第一件事是为您的应用添加适当的启动屏幕故事板,以消除屏幕顶部和底部的黑条。 不相关,但无需检查 iOS 13 即可将演示样式设置为全屏。该代码在早期版本的 iOS 上也有效。 @maddy 我想你最好把它作为一个被接受的答案,谢谢你的贡献。 【参考方案1】:尝试删除它
if (@available(iOS 13.0, *))
[termsVC setModalPresentationStyle: UIModalPresentationFullScreen];
然后添加这个
termsVC.modalPresentationStyle = UIModalPresentationCustom;
这消除了 iOS 13 演示文稿的古怪
【讨论】:
我尝试了 *** 的多个答案,但只有这个答案完美。以上是关于iOS 13.1 Objective-C ModalPresentation 全屏的主要内容,如果未能解决你的问题,请参考以下文章
SVG 动画在 Safari 13.1 (Mac OS & IOS) 中遇到问题
在 Xcode 13.1 和 iOS 15 上测试 Unity 游戏时的奇怪行为