[visionOS][Apple Vision Pro][SwiftUI] 定义一个UIImage变量,可动态改变,并显示在Image控件

Swift 复制代码
struct ContentView: View {
    @State private var myImage: UIImage?
    
    var body: some View {
        VStack {
            if let image = myImage {
                Image(uiImage: image)
                    .resizable()
                    .aspectRatio(contentMode: .fit)
            } else {
                Text("Image not initialized")
            }
            
            Button("Change Image") {
                // 修改myImage的值
                myImage = UIImage(named: "newImage")
            }
        }
        .onChange(of: myImage) { newImage in
            // 当myImage发生变化时执行的操作
            print("myImage has changed to \(newImage)")
        }
    }
}

实际上,不需要加.onChange也可以的,

因为@State标记一个属性时,SwitfUI会自动监听这个属性的变更,当这个属性发生改变,SwiftUI 会自动重新计算&绘制视图。

相关推荐
易知微EasyV数据可视化2 分钟前
Web+游戏引擎模式:设计的跨界协同最优解 | 数字孪生实战训练营·设计篇
前端·经验分享·游戏引擎·数字孪生·空间智能
羊羊小栈7 分钟前
农业病害知识管理系统(基于前后端Web开发)
前端·人工智能·毕业设计·大作业
2601_961194027 分钟前
考研政治历年真题库
python·考研·django·virtualenv·pygame·tornado
兰令水8 分钟前
【helloagent】第四章 agent范式总结+面经
python·语言模型
武子康9 分钟前
调查研究-156 Vercel 全栈应用 前端零配置极速上线:Serverless + 边缘网络 + CI/CD 全栈实战
前端·网络·ci/cd·ai·云原生·serverless·vecel
码云骑士11 分钟前
Chrome插件开发实战指南:从零到上架
前端·chrome·microsoft
AI视觉网奇13 分钟前
3d查看 预览软件
python
kiritomzzz15 分钟前
Vue 插槽(Slot)全解析:从 Vue2 到 Vue3 核心用法与案例
前端·javascript·vue.js
喵了几个咪16 分钟前
基于 Nuxt 4 的现代 Headless CMS 前端:架构深度解析与二次开发指南
前端·架构