SwiftUI 预览小技巧

2020-05-12  本文已影响0人  Vergil_wj

自定义预览视图大小

使用 previewLayout(_:)修饰语,设置为行显示:

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
            .previewLayout(.fixed(width: 300, height: 70))
    }
}

预览多个设备,并显示设备名字

第一种: 放入Group中:

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        Group {
            ContentView()
                .previewDevice(PreviewDevice(rawValue:"iPhone 8"))
            ContentView()
                .previewDevice(PreviewDevice(rawValue:"iPhone 11"))
        }
    }
}

第二种:使用ForEach

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ForEach(["iPhone 8","iPhone 11 Pro Max"], id: \.self) { deviceName in
            ContentView()
                .previewDevice(PreviewDevice(rawValue: deviceName))
                .previewDisplayName(deviceName)
        }
    }
}

遇到问题:
iPhone SE 通过指定设备的方法显示不出来???当前 Xcode 版本:11.4.1。
暂时只能先通过选择模拟器为iPhone SE来进行默认预览了。

预览深色模式下的UI

struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
            .colorScheme(.dark)
    }
}

参考资料:
SwiftUI Tutorials

上一篇下一篇

猜你喜欢

热点阅读