Swift编程-Size Class显示方向自适应布局范例

上篇文章<Swift编程-Size Class显示方向自适应布局>介绍了Swift的size class机制,应用此机制可以根据屏幕的尺寸和朝向进行布局的调整,本文给出程序范例。

swift提供了两个 environment property wrapper来提供size class值。分别是:

  • verticalSizeClass 提示垂直方向(高度)是常规的还是紧凑的
  • horizontalSizeClass 提示水平方向(宽度)是常规还是紧凑的

程序范例

首先在View结构中声明环境变量:

@Environment(\.verticalSizeClass) var verticalSizeClass
@Environment(\.horizontalSizeClass) var horizontalSizeClass

然后在body中给出根据环境属性wrapper打印出的Text:

    var body: some View {
        
        if verticalSizeClass == .regular && horizontalSizeClass == .regular {
            Text("Regular Height / Regular Width")
        }
        
        if verticalSizeClass == .regular && horizontalSizeClass == .compact {
            Text("Regular Height / Compact Width")
        }
        
        if verticalSizeClass == .compact && horizontalSizeClass == .regular {
            Text("Compact Height / Regular Width")
        }
        
        if verticalSizeClass == .compact && horizontalSizeClass == .compact {
            Text("Compact Height / Compact Width")
        }
    }

运行结果

以下是运行结果:

iPad Pro 横置

Simulator Screen Shot - iPad Pro (9.7-inch) - 2022-01-18 at 12.10.36.png

iPhone 13 竖置

Simulator Screen Shot - iPhone 13 - 2022-01-18 at 12.11.05.png

iPhone 13 横置

Simulator Screen Shot - iPhone 13 - 2022-01-18 at 12.11.16.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容