gpt4 book ai didi

ios - 如何以编程方式判断 ViewController 是否呈现 UIModalPresentationFormSheet 全屏打开?

转载 作者:行者123 更新时间:2023-12-01 18:11:40 32 4
gpt4 key购买 nike

在 iPhone 6+ 上模态显示 ViewController,样式为 UIModalPresentationFormSheet根据方向打开不同。

在纵向模式下,它看起来像普通的 Modal(与较小的 iPhone 相同)。
但在横向模式下,它以表单形式打开(类似于 iPad)。

我如何以编程方式告诉实际使用了什么状态(在 VC 的生命周期中的任何地方)。

最佳答案

当 Controller 的尺寸等级具有常规宽度时, Controller 显示为表单。

因此,在横向的 iPhone 6+ 或任何方向的 iPad 上,水平尺寸等级是常规的,并且表单显示小于全屏宽度。

您可以使用以下方法在 Controller 中对此进行测试:

if (self.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
// ... Its showing as per the form specification
}
else{
// ... Its showing as a modal full screen.
}

替换 self如果从其他地方调用,则使用 Controller 的变量。

这也涵盖了您可能使用弹出框的情况,因为当您在 iPad 上使用弹出框时,尺寸等级会在弹出框本身内更改为紧凑。

关于ios - 如何以编程方式判断 ViewController 是否呈现 UIModalPresentationFormSheet 全屏打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748741/

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