SwiftUI Swift 多个 sheet

今天做一个多个 sheet 的效果,点击下面三个按钮打开不同的 sheet


Show me the code

swift 复制代码
import SwiftUI

enum CurrentActiveSheet: Identifiable {
    case add, edit, delete

    var id: Int {
        hashValue
    }
}

struct MoreSheet: View {
    @State var currentActiveSheet: CurrentActiveSheet?

    var body: some View {
        HStack(spacing: 20) {
            Text("add")
                .padding()
                .background(Color.red)
                .onTapGesture {
                    currentActiveSheet = .add
                }
            
            Text("edit")
                .padding()
                .background(Color.green)
                .onTapGesture {
                    currentActiveSheet = .edit
                }
            
            Text("delete")
                .padding()
                .background(Color.blue)
                .onTapGesture {
                    currentActiveSheet = .delete
                }
        }
        .foregroundColor(Color.white)
        .sheet(item: $currentActiveSheet) { item in
            switch item {
            case .add:
                Text("add")
            case .edit:
                Text("edit")
            case .delete:
                Text("delete")
            }
        }
    }
}

struct MoreSheet_Previews: PreviewProvider {
    static var previews: some View {
        MoreSheet()
    }
}

Preview


喜欢或对你有帮助,点个赞吧,自己先点个嘿嘿。
有错误或者疑问还请评论指出。
我的个人网站 点击访问 hongweizhu.com

END

相关推荐
littleplayer18 小时前
iOS 中的 @MainActor 详解
前端·swiftui·swift
躺平每一天20 小时前
用 Swift 的高阶函数 reduce 提升代码可读性
swift·掘金·金石计划
林晨月3 天前
SwiftUI Color(一)
ios·swiftui
风浅月明4 天前
[Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)
swift
season_zhu4 天前
iOS开发:关于Moya之上的Request层
ios·架构·swift
东坡肘子4 天前
更短的有效期和更长的保质期 | 肘子的 Swift 周报 #080
swiftui·swift·wwdc
躺平每一天5 天前
SwiftUI 的列表组件 - List (Trae 提升效率)
swiftui·trae
风浅月明5 天前
[Swift]Xcode模拟器无法请求http接口问题
http·xcode·swift
season_zhu8 天前
iOS开发:关于URL解析
ios·json·swift
ZRD11128 天前
SwiftUI 表达式
swiftui·swift