[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 会自动重新计算&绘制视图。

相关推荐
范范@3 分钟前
day2-python基础语法
开发语言·python
编码者卢布5 分钟前
【Azure Container App】容器应用的维护窗口设置
python·azure
程序员Sunday6 分钟前
爆肝万字!这应该是全网最全的 Codex 实战教程了
前端·后端·ai编程
aircrushin6 分钟前
朋友用trae搭建的工具,解决了旅行拍照共享的大事儿
前端·后端
夏至春来-美美12 分钟前
python 使用pytest的ini配置
开发语言·python·pytest
ZC跨境爬虫12 分钟前
跟着 MDN 学 HTML day_41:(DOMParser 接口详解)
前端·javascript·ui·html·音视频
geovindu17 分钟前
python: Mutex Pattern
开发语言·python·设计模式·互斥锁模式
C137的本贾尼20 分钟前
告别硬编码:提示词模板入门
python·langchain
m0_3722570223 分钟前
RRF和Cross-Encoder rerank怎么实现
开发语言·windows·python
光影少年25 分钟前
useLayoutEffect 和 useEffect 区别、使用场景
开发语言·前端·javascript