【问题标题】:Layout multiple SwiftUI previews horizontally (or in grid) instead of vertically?水平(或网格)而不是垂直布局多个 SwiftUI 预览?
【发布时间】:2023-05-24 02:10:01
【问题描述】:

在之前渲染多个 SwiftUI 时,它们总是在垂直堆栈中渲染。我想将它们水平或理想地放在网格上。因为我的屏幕上有更多的水平空间。

必须在多个预览之间不断上下滚动是没有效率的,尤其是当您有两个以上的预览时。

任何人都知道解决方法,或者如果可能的话?

更新: 例如。正如您在屏幕截图中看到的那样,我希望将这两个预览水平并排显示。

Xcode 版本 12.0 测试版 (12A6159)

【问题讨论】:

    标签: swift xcode swiftui


    【解决方案1】:

    你可以这样实现。这样它就不会显示 iPhone 边框,但视图会将其呈现为它在 iPhone 11 Pro 屏幕上的外观。

    struct SidebarView_Previews: PreviewProvider {
        static var previews: some View {
            HStack {
                //... All your views ...
            }.previewLayout(.fixed(width: 375 * 2, height: 812))
        }
    }
    

    【讨论】:

      【解决方案2】:

      只需将预览组替换为 HStack,这样:

      struct SidebarView_Previews: PreviewProvider {
          static var previews: some View {
              Group {
                  //... All your views ...
              }
              
          }
      }
      

      到:

      struct SidebarView_Previews: PreviewProvider {
          static var previews: some View {
              HStack(spacing: 20) {
                  //... All your views ...
              }
              
          }
      }
      

      【讨论】:

      • 对我来说,这似乎只是将两个视图并排放置,但仍然在单个预览手机中。
      • 我也有同样的问题。没有这个功能似乎是一个很大的疏忽。
      最近更新 更多