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

相关推荐

  1. 图片添加

    2024-04-06 01:30:04       49 阅读
  2. 【鸿蒙NEXT】图片选择图片压缩

    2024-04-06 01:30:04       31 阅读
  3. 添加背景图片画图matlab

    2024-04-06 01:30:04       35 阅读
  4. 阶段项目中的添加图片和打乱图片

    2024-04-06 01:30:04       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-06 01:30:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-06 01:30:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-06 01:30:04       87 阅读
  4. Python语言-面向对象

    2024-04-06 01:30:04       96 阅读

热门阅读

  1. xv6项目开源—05

    2024-04-06 01:30:04       37 阅读
  2. AI小程序的创业方向:深度思考与逻辑引领

    2024-04-06 01:30:04       30 阅读
  3. Redis实现全局唯一Id

    2024-04-06 01:30:04       42 阅读
  4. 蓝桥杯备考随手记: Scanner 类中常用方法

    2024-04-06 01:30:04       39 阅读
  5. 静态路由协议

    2024-04-06 01:30:04       33 阅读
  6. 全球化浪潮下的技术与安全

    2024-04-06 01:30:04       36 阅读
  7. 第九题:最大间隙

    2024-04-06 01:30:04       34 阅读