SwiftUI 预览小技巧
2020-05-12 本文已影响0人
Vergil_wj
自定义预览视图大小
使用 previewLayout(_:)
修饰语,设置为行显示:
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.previewLayout(.fixed(width: 300, height: 70))
}
}
预览多个设备,并显示设备名字
- 使用
previewDevice(_:)
修饰语,预览指定设备; - 使用
previewDisplayName(_:)
修饰语,展示设备名字;
第一种: 放入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