当前位置: 首页 > news >正文

ios开发:保存kingfisher显示的图片到本地

一,配置权限

image

二,代码:


import Kingfisher
import SwiftUIstruct DetailView: View {let id: Int // 接收传递过来的 idlet destUrl = "https://baidu.com"let imageUrl = URL(string: "https://raw.gitcode.com/GitHub_Trending/ki/Kingfisher/raw/fa3609d1975791c0a6e6f75a56dc20a957967769/images/kingfisher-2.jpg")!var body: some View {VStack(spacing: 20) {Spacer()KFImage(imageUrl).fade(duration: 0.33).placeholder { ProgressView() }.resizable().scaledToFit().frame(width: 200, height: 200)// 2. 保存按钮Button(action: {saveImageToAlbum()}) {Label("保存图片到相册", systemImage: "square.and.arrow.down").padding().background(Color.blue).foregroundColor(.white).cornerRadius(10)}}.navigationTitle("详情")// SwiftUI 默认在导航跳转时提供“从右向左”的滑动动画}// 3. 保存逻辑func saveImageToAlbum() {// 从 Kingfisher 缓存中获取图片let cache = ImageCache.defaultcache.retrieveImage(forKey: imageUrl.absoluteString) { result inswitch result {case .success(let value):if let uiImage = value.image {// 调用系统方法保存到相册UIImageWriteToSavedPhotosAlbum(uiImage, nil, nil, nil)print("保存成功")} else {print("缓存中未找到图片,请确保图片已加载完毕")}case .failure(let error):print("获取缓存图片失败: \(error)")}}}
}

 

三,测试效果:

image

 

http://www.jsqmd.com/news/592543/

相关文章:

  • 3个关键步骤:在AMD显卡上部署本地AI大模型,轻松跑起Llama 3和Mistral
  • LightOnOCR-2-1B解决文档数字化难题:老旧扫描件、模糊照片文字轻松提取
  • Pixel Aurora Engine 集成SpringBoot实战:构建创意图片生成微服务
  • python SharedMemory
  • **时序数据库实战:用InfluxDB构建高吞吐物联网数据采集系统**在现代物联网(IoT)场
  • FlycoTabLayout:构建Android沉浸式导航体验的高效解决方案
  • 基于COMSOL相场法与水平集方法的多孔介质两相驱替模拟案例与随机孔隙度几何程序定制
  • 哪些任务永远不应该交给Agent
  • 如何让ollama-for-amd释放AMD GPU潜能?完整落地指南
  • 5分钟快速上手:QtScrcpy安卓投屏与虚拟按键终极指南
  • ORACLE数据库星型模型设计实例
  • 20251909 2024-2025-2 《网络攻防实践》实验三
  • 硬件工程师避坑指南:从选型到焊接,搞定晶振不起振的10个实战细节
  • 项目管理系统项目模板权限模板报表模板怎么做才能快速复制
  • 2025届必备的十大AI学术神器实际效果
  • BiliTools哔哩哔哩工具箱2026年:跨平台资源管理终极解决方案与完整指南
  • 百考通:精准匹配当前主流技术方向与行业需求,让研究更顺畅
  • 2026届必备的AI辅助论文神器实测分析
  • [特殊字符]C/C++内存管理深度解剖:从内存布局到new/delete底层,吃透面试必考核心
  • Emby高级功能终极解锁指南:免费获得完整Premiere体验的完整教程
  • 我受够了要给不同的Agent喂信息了
  • 拆解 OpenHands(14)--- Microagents
  • Synology Photos人脸识别功能突破全解析:跨设备适配与性能优化指南
  • [特殊字符]C++模板初阶通关:泛型编程核心,告别冗余代码!
  • WechatRealFriends:微信单向好友智能检测与关系管理工具
  • 探索Ryujinx:在PC上免费畅玩Switch游戏的完整指南
  • 从CAD到Web地图:LibreDWG解析DWG的坑我都帮你踩完了(Python实战)
  • AGV 自动充电是什么
  • Windows Defender Control深度解析:开源Windows Defender管理工具完全指南
  • Xilinx DDR4与DDR3多通道读写防冲突设计:高效稳定,支持最高8通道并行操作