SwiftUI Swift 选择图片 添加图片

1. 添加记帐时添加图片功能

2. Show me the code

//
//  TestPhotoPicker.swift
//  pandabill
//
//  Created by 朱洪苇 on 2024/3/30.
//

import SwiftUI
import PhotosUI
import Foundation

struct TestPhotoPicker: View {
    @State private var selectedItem: PhotosPickerItem? = nil
    @State private var selectedImageData: Data? = nil
    
    var body: some View {
        VStack(spacing: 0) {
            PhotosPicker(
                selection: $selectedItem,
                matching: .images,
                photoLibrary: .shared()) {
                    Text("Select a photo")
                }
                .onChange(of: selectedItem) { newItem in
                    Task {
                        if let data = try? await newItem?.loadTransferable(type: Data.self) {
                            selectedImageData = data
                            saveImageDataToCoreData(data)
                        }
                    }
                }

            if let selectedImageData,
               let uiImage = UIImage(data: selectedImageData) {
                Image(uiImage: uiImage)
                    .resizable()
                    .scaledToFit()
                    .frame(width: 200, height: 200)
            }
        }
    }
    
    private func saveImageDataToCoreData(_ imageData: Data) {
    }
}

3. 真机运行

在这里插入图片描述

4. 在我的第一个 iOS 项目(熊猫小账本 App)里的应用

在这里插入图片描述


推荐一下刚上线的 App 熊猫小账本,里面有用到这篇博客讲的内容

熊猫小账本 一个简洁的记账 App,用于记录日常消费开支收入,使用 iCloud 保存同步数据。

  • 支持备注,自定义时间偶尔忘记记账也没关系。
  • 搜索历史记账,支持分类、金额、备注。
  • 启动时需要面容/指纹验证,保护个人隐私。
  • 支持自定义分类功能,自由添加修改分类。
  • 统计图表,支出收入一目了然。
  • 每天提醒记账,不会有其他推送。
  • 桌面锁屏小组件开发中。。。

点击去看看 👀


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

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507530.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习在智能音箱中的应用探索与实践:让声音更懂你

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

多微信聚合聊天神器,让你的社交更高效!

对于那些拥有多个微信号的用户来说,频繁地在不同微信号和设备之间切换既麻烦又容易搞混。这时候,一款多微信聚合聊天神器——微信管理系统应运而生,为我们带来了极大的便利与高效。 下面一起来看看它都有哪些功能吧! 1、多微信同…

Google Chrome将某个页签静音,不是网站

Google Chrome将某个页签静音,不是网站 打开chrome://flags/在里面搜索,audio,找到Tab audio muting UI contorl的选项,右侧设置为Enable。重新启动浏览器。 发现有声音的浏览器页签有一个喇叭图标,点击一下就行了。

【游戏分析】FPS游戏狩猎百发百中

某某游戏狩猎玩法及其类似于FPS游戏 即3D射击 所以同样拥有 自动瞄准功能和爆头功能 想达到百发百中我们就要精准的计算出3D朝向值 读取人物坐标 遍历怪物,读取怪物坐标比较简单,不过多陈诉 朝向自然而然一定是我们和敌人的坐标计算出来的 那么怎么计算的呢? 我…

web安全学习笔记【21】——安全开发

安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用 #知识点: 1、PHP留言板前后端功能实现 2、数据库创建&架构&增删改查 3、内置超全局变量&HTML&JS混编 4、第三方应用插件&传参&对象调用 DAY1 #章…

Shopee,lazada如何实施稳定的测评,补单自养号方案,关键的步骤和条件

随着平台竞争激烈,越来越多的商家对常规运营也是力不从心。传统的广告和营销方式已经无法满足商家的需求,因此自养号测评也成为商家重要的推广方式。实现自养号测评,补单所需的技术条件。 1.不同账户的独立运行环境和阻断平台检测非常重要。稳…

判断点在多边形内的算法

在计算几何中,判定点是否在多边形内,是个非常有趣的问题。通常有两种方法: 一、Crossing Number(交叉数) 它计算从点P开始的射线穿过多边形边界的次数。当“交叉数”是偶数时,点在外面;当它是奇数时&…

花大钱办小事,游戏厂商为何开始打造奢华版副游?

3月28日,网易号称耗时6年、花费10亿研发的年度重磅MMO产品《射雕》上线。 对比同样在三月份腾讯开放测试的MMO游戏《塔瑞斯世界》,会发现很有意思的一幕:相比《塔瑞斯世界》想要打造手游版“魔兽世界”,不断完善养成体系想要把玩…

应急响应靶机训练-Linux1题解

前言 接上文,应急响应靶机训练Linux1 靶机地址: 应急响应靶机-Linux(1) 最近感冒了,就没录视频版。 题解 目标:3个flag以及黑客的ip地址 登陆虚拟机 密码defend flag1: su history flag{thisismybaby} flag2:…

4月4日生效!管控升级!继续围堵 | 百能云芯

据路透社29日报道,美国拜登政府当天修改规则,升级针对中国人工智能(AI)芯片和相关工具出口管制的措施。报道声称,这是美国以国家安全为由阻碍中国芯片制造业发展的努力的一部分。 美国商务部下属的工业与安全局&#x…

【缺陷】硅光电二极管中的DT侧壁陷阱态的DLTS表征

【A DLTS study on Deep Trench Processing induced Trap States in Silicon Photodiodes】 概括 本研究通过深能级瞬态光谱(DLTS)技术对硅光电二极管中的深沟槽(DT)侧壁诱导的陷阱态进行了详细分析。研究发现,这些陷…

从 Azure 部署生成本地 .NET 密钥

作者:Frank Boucher 排版:Alan Wang 通常,示例项目以一些“魔术字符串”开始,这些变量包含与部署或外部资源相关的 URL 和关键信息,我们必须更改这些信息才能使用示例。例如在 .NET 中,它可能如下所示&…

基于 YOLO V8 Pose Fine-Tuning 训练 15 点人脸关键点检测模型

一、YOLO V8 Pose YOLO V8 在上篇文章中进了简单的介绍,并基于YOLO V8 Fine-Tuning 训练了自定义的目标检测模型,而YOLO V8 Pose 是建立在YOLO V8基础上的关键点检测模型,本文基于 yolov8n-pose 模型实验 Fine-Tuning 训练15 点人脸关键点检…

04_Git开发流程

文章目录 Git开发创建阶段开发阶段合并阶段常用指令 Git开发 创建阶段 共建Git仓库,首次使用请使用git clone指令 git clone xxx.git在master/main主干上搭建起基本的项目结构和公共内容,将这些内容push到远程仓库 在Github上创建分支dev(de…

浅谈高阶智能驾驶-NOA领航辅助的技术与发展

浅谈高阶智能驾驶-NOA领航辅助的技术与发展 附赠自动驾驶学习资料和量产经验:链接 2019年在国内首次试驾特斯拉NOA领航辅助驾驶的时候,当时兴奋的觉得未来已来;2020年在试驾蔚来NOP领航辅助驾驶的时候,顿时不敢小看国内新势力了;现在如果哪家…

houdini 对lsystem类carve效果

1.for 对每个prim执行carve 2.delete 3.

吴恩达:现在做GPT-4智能体,或将提前达到GPT-5效果|钛媒体AGI

斯坦福大学客座教授吴恩达(Andrew Ng)© 林志佳 美国斯坦福大学教授吴恩达(Andrew Ng) 人工智能智能体(AI Agents)似乎将引领 AI 行业新的发展趋势。 近日红杉资本(Sequoia)在…

使用 MergeKit 创建专家组合---将多个模型合并到同个 MoE 中

原文地址:create-mixtures-of-experts-with-mergekit 2024 年 3 月 27 日 由于 Mixtral 的发布,Mixture of Experts(MoE)架构近几个月开始流行。这种架构提供了一个有趣的权衡:以增加 VRAM 使用为代价获得更高的性能…

【C语言】联合体、枚举: 联合体与结构体区别,枚举的优点

目录 1、联合体 1.1、什么是联合体 1.2、联合体的声明 1.3、联合体的特点 1.4、联合体与结构体区别 1.5、联合体的大小 2、枚举 2.1、枚举类型的声明 2.2、枚举类型的优点 3、三种自定义类型:结构体、联合体、枚举 正文 1、联合体 1.1、什么是联合体 联…

脑部肿瘤检测YOLOV8

脑部肿瘤检测,采用YOLOV8训练得到PT模型,然后转换成ONNX,OPENCV调用,支持C/PYTHON/ANDORID开发脑部肿瘤检测YOLOV8