有没有办法强制 SwiftUI 中的横向模式仅用于某些视图?

Posted

技术标签:

【中文标题】有没有办法强制 SwiftUI 中的横向模式仅用于某些视图?【英文标题】:Is there a way to force Landscape mode in SwiftUI for only certain views? 【发布时间】:2020-11-08 00:27:17 【问题描述】:

SwiftUI 还是相当新的,它已经抽象出大部分代码功能。所以我不确定仅在特定视图上强制横向模式的适当方式,而不是每个视图。

有没有人知道一种干净且一致的方法来解决这个问题?

【问题讨论】:

【参考方案1】:
struct ContentView: View 
    @Environment(\.verticalSizeClass) var horizontalSizeClass

    var body: some View 
        Group 
            if horizontalSizeClass == .compact 
                Text("landscape")
             else 
                Text("Potrait")
            
        
    

您可以在这里https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/了解有关尺寸等级的一些想法

【讨论】:

这可能也有帮助.. developer.apple.com/forums/thread/126878 这并不是我真正需要的,但它确实很有帮助。它绝对提供了一系列新的可能性。谢谢! mm 似乎覆盖环境变量也不起作用!,

以上是关于有没有办法强制 SwiftUI 中的横向模式仅用于某些视图?的主要内容,如果未能解决你的问题,请参考以下文章

强制视图仅支持横向模式

AS3 - 仅 iOS 强制横向模式?

修改 iPhone 以仅强制横向方向 [重复]

强制堆叠标签

设置为横向模式时视图位置不正确

即使 iPad 处于纵向模式,如何强制 iPad 上的电视处于横向模式