首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode12.3把任何新的内容放在一个新的预览中

Xcode12.3把任何新的内容放在一个新的预览中
EN

Stack Overflow用户
提问于 2021-02-13 15:43:54
回答 2查看 76关注 0票数 1

代码语言:javascript
复制
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中的适当行将其删除后,它就开始了。之后,所有新项目或旧项目中的所有新文件都会显示出这种奇怪的行为。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-13 17:58:44

默认情况下,body是SwiftUI 2.0中的一个@ViewBuilder,因此它只生成一组内联视图,因此有两个文本元素,您可以获得两个预览。如果你只想要一个预览,你的body应该有一个顶视图,比如

代码语言:javascript
复制
struct ContentView: View {
    var body: some View {
      HStack {
        Text("Hello")
        Text("World")
      }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2021-02-13 16:36:47

您必须将两个Text元素放入一个容器中,例如VStack

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66182888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档