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

ios开发: 列表中显示网络图片

一,代码:

import SwiftUIstruct ContentView: View {@State private var message = "加载中..."var contentList: [[String: Any]] = [["id":1,"title":"夜宿山寺","author":"李白","image":"https://imgs-qn.iliangcang.com/ware/sowhatimg/ware/orig/2/39/39653.png"],["id":2,"title":"宿建德江","author":"孟浩然","image":"https://imgs-qn.iliangcang.com/ware/sowhatimg/ware/orig/2/39/39651.png"],["id":3,"title":"晓出净慈寺送林子方","author":"杨万里","image":"https://imgs-qn.iliangcang.com/ware/slider/1938.png"],["id":4,"title":"望庐山瀑布","author":"李白","image":"https://imgs-qn.iliangcang.com/ware/goods/big/2/284/284909.jpg"],]var body: some View {VStack {Text(message)List{ForEach(0..<contentList.count, id: \.self) { index inlet item = contentList[index]HStack(spacing: 15) {// 1. 处理网络图片if let imageUrlString = item["image"] as? String,let imageUrl = URL(string: imageUrlString) {AsyncImage(url: imageUrl) { image inimage.resizable().aspectRatio(contentMode: .fit)} placeholder: {Color.gray.opacity(0.2) // 图片加载时的占位色}.frame(width: 90, height: 90).background(Color.purple).cornerRadius(8)}// 2. 文本信息VStack(alignment: .leading, spacing: 5) {Text(item["title"] as? String ?? "未知标题").font(.headline)Text(item["author"] as? String ?? "未知作者").font(.subheadline).foregroundColor(.secondary)}}.padding(.vertical, 4)}}}}}#Preview {ContentView()
}

 

二,测试效果:

image

 

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

相关文章:

  • Windows 11 LTSC应用商店恢复极简攻略:3大核心步骤解决企业版应用缺失问题
  • NVM下载Node.js老版本总报错?手把手教你手动下载并配置Node 14.21.3(附保姆级截图)
  • 如何快速创建专业图表:Mermaid数据可视化的完整指南
  • GG3M 独家原创理论数学基础详解:数理逻辑与公理系统
  • Flowable实战进阶:从静态流程图到动态流程监控的交互式实现
  • 大模型上下文长度的优化策略与应用场景
  • STM32F103实战指南(11):DMA+串口空闲中断实现高效数据接收
  • 树莓派4B与STM32 RT1064串口通信实战:从硬件连线上位机调试全流程
  • 20254111周笑凡 2025-2026-2 《Python程序设计》实验1报告
  • 探索Bayes-HKELM多输出回归:MATLAB实战
  • Windows 7 SP2焕新体验:让经典系统重获现代硬件适配能力
  • 模拟IC设计避坑:手把手教你用Cadence Virtuoso仿真时钟馈通效应(附减小误差的3个实用技巧)
  • MiniMax Token Plan 邀请码
  • MySQL 多表连接查询实战:内连接 + 外连接
  • 从零开始:Ubuntu 18.04上HBase 2.1.1伪分布式环境搭建全流程(含常见错误修复)
  • 【忍者算法】394 字符串解码:遇到嵌套时,栈最像“现场保存器”
  • ESXi主机添加必看:解决vCenter Server版本不兼容和HA报警的5个技巧
  • LVGL+FreeRTOS实战项目:智能健康助手(GUI设计与数据可视化篇)
  • 单片机例程之电子琴
  • 保姆级教程:用FreeRTOS在ESP32上管理DHT22和MQ-135,实现多传感器稳定采集与低功耗
  • 数字孪生:工业4.0的智能引擎,如何驱动制造业高效转型
  • React Native Material Design 最佳实践:避免常见陷阱的10个技巧
  • AIGC内容创作流水线:Qwen3-ASR-0.6B赋能语音素材自动化文本化
  • day10-数据结构力扣
  • Fugu14越狱指南:如何在iOS 14设备上实现完美越狱体验 [特殊字符]
  • 回顾方法
  • Presenton:如何用本地AI重新定义演示文稿创作的三重革命?
  • 2025版等离子体期刊分区解析:从PRL到PPAP的投稿指南
  • DeepSeek总结的 pg_duckpipe:2026年3月新特性
  • 3款PCB文件查看工具深度解析:OpenBoardView如何突破电路可视化行业痛点