// 声明方法
EmptyView()
iOS 17 中的新功能。
当您的应用程序没有任何内容可显示时,SwiftUI 的 ContentUnavailableView
可以显示标准的用户界面。它非常适合您的应用依赖尚未提供的用户信息的情况,例如当您的用户尚未创建任何数据时,或者他们正在搜索某些内容但没有结果时。
举个例子,如果您正在制作一个应用程序,让用户写下他们想要记住的 Swift 代码片段,那么默认情况下它可能会以没有代码片段的方式开始。因此,您可以像这样使用:
//这将显示 SF Symbols 中的一个大 Swift 图标,以及下面的标题文本“无片段”
ContentUnavailableView("No snippets", systemImage: "swift")
//这将显示 SF Symbols 中的一个大 signature 图标,以及下面的标题文本“无片段”
ContentUnavailableView("No snippets", systemImage: "signature.th")
//还可以在下面添加额外的描述文本行,指定为 Text 视图,以便您可以添加额外的样式,例如自定义字体或自定义颜色:
ContentUnavailableView(
"No snippets",
systemImage: "swift",
description: Text("You don't have any saved snippets yet.")
)
//如果想要完全控制,可以提供标题和描述的单独视图,以及一些要显示的按钮以帮助用户开始使用:
ContentUnavailableView {
Label("No snippets", systemImage: "swift")
} description: {
Text("You don't have any saved snippets yet.")
} actions: {
Button("Create Snippet") {
// create a snippet
}
.buttonStyle(.borderedProminent)
}
SwiftUI 还内置了一些 ContentUnavailableView 的实例,方便使用。
// 例如:显示失败的搜索结果屏幕
ContentUnavailableView.search
// 可以自定义其内容
ContentUnavailableView.search(text: "Life, the Universe, and Everything")