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

相关推荐
iFlyCai12 小时前
Xcode 16 pod init失败的解决方案
ios·xcode·swift
Hamm21 小时前
先别急着喷,没好用的iOS-Ollama客户端那就自己写个然后开源吧
人工智能·llm·swift
hxx2212 天前
iOS swift开发--- 加载PDF文件并显示内容
ios·pdf·swift
今天也想MK代码3 天前
基于ModelScope打造本地AI模型加速下载方案
ai·语言模型·swift·model·language model
袁代码3 天前
Swift 开发教程系列 - 第11章:内存管理和 ARC(Automatic Reference Counting)
开发语言·ios·swift·ios开发
袁代码4 天前
Swift 开发教程系列 - 第8章:协议与扩展
开发语言·ios·swift·ios开发
袁代码4 天前
Swift 开发教程系列 - 第9章:错误处理
开发语言·ios·swift·ios开发
iFlyCai4 天前
Swift中的Combine
开发语言·ios·swift·combine·swift combine
一丝晨光4 天前
Objective-C 1.0和2.0有什么区别?
java·开发语言·macos·c#·objective-c·swift·apple
新中地GIS开发老师5 天前
【GIS开发小课堂】高德地图+Three.js实现飞线、运动边界和炫酷标牌
开发语言·javascript·arcgis·前端框架·swift