Swift占位符ContentUnavailableView
Swift占位符ContentUnavailableView

Swift占位符ContentUnavailableView

ContentUnavailableView 是 SwiftUI 提供的一个视图,用于显示占位内容或空状态(Empty State)的界面。当某些内容不可用、加载失败或者数据为空时,使用它可以方便地提示用户当前状态。

基本用法

1、显示简单提示

import SwiftUI

struct ContentView: View {
    var body: some View {
        ContentUnavailableView("No Internet Connection", systemImage: "wifi.slash")
    }
}

systemImage 参数接受 SF Symbols 图标。

这里会显示一个标题 “No Internet Connection” 和图标 wifi.slash。

2、添加描述内容

可以添加description字段,用于添加一行额外的描述文字。

import SwiftUI

struct ContentView: View {
    var body: some View {
        ContentUnavailableView("No snippets", systemImage: "swift", description: Text("You don't have any saved snippets yet."))
    }
}

description可以添加额外的样式,例如自定义字体或自定义颜色。

3、自定义视图

可以完全控制ContentUnavailableView视图,为标题、描述提供单独的视图。

import SwiftUI

struct ContentView: View {
    var body: some View {
        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)
        }
    }
}

Label表示占位符内容,description用于底部描述,action添加执行代码。

参考文章

Showing empty states with ContentUnavailableView:https://www.hackingwithswift.com/books/ios-swiftui/showing-empty-states-with-contentunavailableview

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注