SwiftUI 预览 Sheet w/o 运行 实时预览?
SwiftUI Preview Sheet w/o Running Live Preview?
更新Xcode13
下面的代码示例在 Xcode 13.
中按预期工作
来自 Apple 框架工程师的更新 October 2020:
Unfortunately there is no current workarounds to let you preview this outside of the live preview.
是否可以在没有 运行 实时预览的情况下创建所呈现 sheet 的 SwiftUI 预览?例如:
struct Sheet_Previews: PreviewProvider {
static var previews: some View {
Text("Background").sheet(isPresented: .constant(true)) {
Text("Sheet")
}
}
}
以上结果预览如下:
为了在预览中显示 sheet 内容,您必须 运行 实时预览:
只让预览提供显示父视图和 sheet 的两个视图,例如
struct Sheet_Previews: PreviewProvider {
static var previews: some View {
Group { // << will create two previews
Text("Background") // << parent view here
Text("Sheet") // << sheet view here
}
}
}
Xcode 13.0 似乎可以在不启动实时预览的情况下正确处理此问题。
现在可以正常工作了:
struct Sheet_Previews: PreviewProvider {
static var previews: some View {
Text("Background").sheet(isPresented: .constant(true)) {
Text("Sheet")
}
}
}
更新Xcode13 下面的代码示例在 Xcode 13.
中按预期工作来自 Apple 框架工程师的更新 October 2020:
Unfortunately there is no current workarounds to let you preview this outside of the live preview.
是否可以在没有 运行 实时预览的情况下创建所呈现 sheet 的 SwiftUI 预览?例如:
struct Sheet_Previews: PreviewProvider {
static var previews: some View {
Text("Background").sheet(isPresented: .constant(true)) {
Text("Sheet")
}
}
}
以上结果预览如下:
为了在预览中显示 sheet 内容,您必须 运行 实时预览:
只让预览提供显示父视图和 sheet 的两个视图,例如
struct Sheet_Previews: PreviewProvider {
static var previews: some View {
Group { // << will create two previews
Text("Background") // << parent view here
Text("Sheet") // << sheet view here
}
}
}
Xcode 13.0 似乎可以在不启动实时预览的情况下正确处理此问题。
现在可以正常工作了:
struct Sheet_Previews: PreviewProvider {
static var previews: some View {
Text("Background").sheet(isPresented: .constant(true)) {
Text("Sheet")
}
}
}