gpt4 book ai didi

ios - Apple 的 SwiftUI 教程代码在自制副本中不显示 View 内容

转载 作者:行者123 更新时间:2023-12-04 07:22:17 29 4
gpt4 key购买 nike

我刚刚开始学习 SwiftUI,遵循 Apple 在 this 上构建 iOS 应用程序的教程。关联。我从提供的骨架应用程序开始,并在最新的 Xcode 中逐步进行。 CardView 没有看到我应该看到的只显示一个空白的白色矩形。Apple 提供了一个完全构建的项目,它工作得很好。我已经比较了我从骨架项目中构建的代码与已完成项目附带的代码,它们看起来是相同的。然而,我自制的项目副本根本没有在 CardView 中填写任何细节。 .没有颜色、文本或图标,只有一个空白的白色矩形。除了简单地将代码与 jar 头示例进行比较之外,我完全不知道如何调试它。欢迎任何建议。
这是 CardView.swift 的代码:

import SwiftUI

struct CardView: View {
let scrum: DailyScrum
var body: some View {
VStack(alignment: .leading) {
Text(scrum.title).font(.headline)
Spacer()
HStack {
Label("\(scrum.attendees.count)", systemImage: "person.3")
.accessibilityElement(children: .ignore)
.accessibilityLabel(Text("Attendees"))
.accessibilityValue(Text("\(scrum.attendees.count)"))
Spacer()
Label("\(scrum.lengthInMinutes)", systemImage: "clock")
.padding(.trailing, 20)
.accessibilityElement(children: .ignore)
.accessibilityLabel(Text("Meeting length"))
.accessibilityValue(Text("\(scrum.lengthInMinutes) minutes"))
}
.font(.caption)
}
.padding()
.foregroundColor(scrum.color.accessibleFontColor)

}
}

struct CardView_Previews: PreviewProvider {
static var scrum = DailyScrum.data[0]
static var previews: some View {
CardView(scrum: scrum)
.background(scrum.color)
.previewLayout(.fixed(width: 400, height: 60))
}
}
这是我在 Xcode 预览中从我的代码中看到的图像:
enter image description here
这是我在 Xcode 预览中从 Apple 已经完整的示例代码中看到的:
enter image description here
将我构建的代码与 Apple 提供的代码进行比较似乎是合理的,但会出现零差异。项目中的其他两个 View 工作正常。除了这个来源,还有其他重要的模块吗, CardView.swift ?

最佳答案

遇到同样的问题,发现漏掉了第五步tutorial 的“创建卡片 View -> 第 1 部分:创建颜色主题”部分中
对于不熟悉 Xcode 的人,我认为此步骤中的说明在这里不是很清楚。我通过从示例项目的下载版本导入资源解决了这个问题。试试这些步骤

  • 在 Xcode
  • 中打开 Assets 文件
  • 右键单击并选择导入
  • 导航到下载的项目并选择“Themes”目录,该目录是 Assets.xcassets
  • 的子目录

    完成后,您的 Assets 文件应如下所示。作为奖励,您可以使用这些相同的步骤来导入应用程序图标。
    Xcode screenshot

    关于ios - Apple 的 SwiftUI 教程代码在自制副本中不显示 View 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68415292/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com