
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello")
Text("World")
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}上面的代码产生了两个预览窗口:一个窗口包含文本"Hello",第二个窗口包含"World“
每次我添加类似Text()之类的东西时,它都会出现在第二个预览窗口中。添加更多元素会自动生成新的预览窗口。PreviewProvider中的THe代码保持不变,所以它不是重复的预览,它只是每个元素的单独预览……
我尝试重新启动Xcode,更改模拟器设备,创建新项目-没有任何更改。
我在一个项目中添加了重复的预览,然后通过删除PreviewProvider中的适当行将其删除后,它就开始了。之后,所有新项目或旧项目中的所有新文件都会显示出这种奇怪的行为。
发布于 2021-02-13 17:58:44
默认情况下,body是SwiftUI 2.0中的一个@ViewBuilder,因此它只生成一组内联视图,因此有两个文本元素,您可以获得两个预览。如果你只想要一个预览,你的body应该有一个顶视图,比如
struct ContentView: View {
var body: some View {
HStack {
Text("Hello")
Text("World")
}
}
}发布于 2021-02-13 16:36:47
您必须将两个Text元素放入一个容器中,例如VStack。
https://stackoverflow.com/questions/66182888
复制相似问题