news 2026/6/15 21:29:19

SwiftUI入门+天气的静态网页

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SwiftUI入门+天气的静态网页

SwiftUI入门+天气的静态网页

  • 一.SwiftUI知识点
    • 1. 自定义文本视图创建表单
    • 2. 添加导航栏
    • 3. 修改程序状态
    • 4. 状态绑定UI控件
    • 5. 循环创建视图
  • 二.天气网页

一.SwiftUI知识点

1. 自定义文本视图创建表单

通过 TextField 、 Text 、 Form 组合创建表单, Form 自动优化布局,用 Section 拆分内容,实现结构化展示。

importSwiftUIstructFormDemo:View{@StateprivatevarinputText=""varbody:someView{Form{TextField("请输入内容",text:$inputText)Text("已输入:\(inputText)")}}}#Preview{FormDemo()}

2. 添加导航栏

用 NavigationStack (iOS16+)/ NavigationView 加导航栏,通过 navigationTitle 设标题,适配页面导航需求。

importSwiftUIstructContentView:View{varbody:someView{NavigationStack{Text("表单页面").navigationTitle("我的表单").navigationBarTitleDisplayMode(.inline)}}}

3. 修改程序状态

@State 管理视图临时状态,变量值变化时视图自动刷新,适用于单个视图内的状态存储(如输入内容、开关状态)。

importSwiftUIstructStateDemo:View{@Stateprivatevarcount=0varbody:someView{VStack{Text("计数:\(count)").font(.title)Button("加1"){count+=1}}.padding()}}#Preview{StateDemo()}

4. 状态绑定UI控件

用 $ 符号绑定 @State 变量与UI控件,实现数据实时同步,例: TextField 输入直接更新绑定的变量。

水煮鱼:12-1222:06:06importSwiftUIstructContentView:View{@StateprivatevarinputText=""varbody:someView{TextField("请输入内容",text:$inputText).padding().border(Color.gray)Text("你输入的内容:\(inputText)")}}

5. 循环创建视图

ForEach 遍历数据集合动态生成视图,需指定 id 标识数据,适合重复视图(如列表)的快速创建。

importSwiftUIstructForEachDemo:View{letdata=["内容1","内容2","内容3"]varbody:someView{VStack{ForEach(data,id:\.self){textinText(text)}}}}#Preview{ForEachDemo()}

二.天气网页

importSwiftUIstructContentView:View{varbody:someView{LinearGradient(gradient:Gradient(colors:[Color(#colorLiteral(red:0.2392156869,green:0.6745098233,blue:0.9686274529,alpha:1)),Color(#colorLiteral(red:0.1764705926,green:0.4980392158,blue:0.7568627596,alpha:1))]),startPoint:.top,endPoint:.bottom).edgesIgnoringSafeArea(.all).overlay(VStack(spacing:20){// 顶部:城市+日期VStack{Text("武汉市").font(.system(size:32,weight:.bold)).foregroundColor(.white)Text("2025年12月12日 星期五").font(.system(size:16)).foregroundColor(.white.opacity(0.8))}.padding(.top,50)// 中间:天气图标+温度+天气状态VStack(spacing:15){Image(systemName:"sun.max.fill").resizable().aspectRatio(contentMode:.fit).frame(width:120,height:120).foregroundColor(.yellow)Text("28°").font(.system(size:80,weight:.light)).foregroundColor(.white)Text("晴").font(.system(size:24)).foregroundColor(.white)}.padding(.vertical,30)// 底部:湿度/风速/气压卡片HStack(spacing:25){// 湿度卡片VStack(spacing:8){Text("湿度").font(.system(size:14)).foregroundColor(.white.opacity(0.8))Text("65%").font(.system(size:22,weight:.semibold)).foregroundColor(.white)}.frame(width:80,height:80).background(Color.white.opacity(0.2)).cornerRadius(12)// 风速卡片VStack(spacing:8){Text("风速").font(.system(size:14)).foregroundColor(.white.opacity(0.8))Text("3m/s").font(.system(size:22,weight:.semibold)).foregroundColor(.white)}.frame(width:80,height:80).background(Color.white.opacity(0.2)).cornerRadius(12)// 气压卡片VStack(spacing:8){Text("气压").font(.system(size:14)).foregroundColor(.white.opacity(0.8))Text("1012hPa").font(.system(size:22,weight:.semibold)).foregroundColor(.white)}.frame(width:80,height:80).background(Color.white.opacity(0.2)).cornerRadius(12)}Spacer()})}}structContentView_Previews:PreviewProvider{staticvarpreviews:someView{ContentView().previewDevice(PreviewDevice(rawValue:"iPhone 15 Pro")).previewLayout(.fixed(width:393,height:852))}}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 16:03:20

哔哩下载姬完整指南:5个技巧实现B站视频批量下载效率翻倍

哔哩下载姬完整指南:5个技巧实现B站视频批量下载效率翻倍 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&am…

作者头像 李华
网站建设 2026/6/15 11:01:12

2、数据库管理员的 Linux/Solaris 入门指南

数据库管理员的 Linux/Solaris 入门指南 数据库管理员(DBAs)在信息技术团队中扮演着至关重要的角色,他们承担着一系列关键任务,如安装软件、创建数据库、提供可扩展的数据库环境、监控和维护公司数据库、确保数据备份和安全等。要胜任这些职责,DBA 需要具备数据库和操作系…

作者头像 李华
网站建设 2026/6/15 2:52:18

13、Oracle VM VirtualBox:安装、配置与管理全攻略

Oracle VM VirtualBox:安装、配置与管理全攻略 1. 引言 Oracle VM VirtualBox 是一款由甲骨文公司推出的 x86 计算机虚拟机管理程序,它是一款跨平台的虚拟化软件,支持在 Windows、Mac OS X、Linux 和 Oracle Solaris 等操作系统上同时运行多个操作系统。许多 IT 专业人士利…

作者头像 李华
网站建设 2026/6/14 14:09:41

19、服务器日志文件管理指南

服务器日志文件管理指南 服务器日志文件包含有关系统内核、应用程序和服务的信息,对于故障排除和调试系统级问题非常有用。数据库管理员(DBAs)在诊断服务器问题时,通常会首先查看系统日志文件。下面我们将详细介绍Linux和Solaris系统中日志文件的管理方法。 1. 管理Linux…

作者头像 李华
网站建设 2026/6/15 11:06:02

QProcess

1.QProcessQProcess 核心功能与使用指南1. 基础概念定位:Qt框架中用于启动外部程序并实现进程间通信的核心类,继承自QIODevice,支持跨平台(Windows/Linux/macOS)。核心能力:启动/终止外部进程读写进程标准输…

作者头像 李华
网站建设 2026/6/15 11:05:17

python处理高光谱数据

以下是基于文档中高光谱数据处理的核心代码及输出示例总结:一、基本操作1. 读取高光谱数据import spectral # 读取ENVI格式数据(支持.raw/.spe/.lan等) img spectral.envi.read_envi(filemy_data.hdr, imagemy_data)在使用 spectral&#xf…

作者头像 李华