news 2026/6/15 16:05:23

swiftui—4

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
swiftui—4

一、天气app编写静态页面

以下是源代码:

// // ContentView.swift // weather // // Created by 十八 on 2025/12/11. // import SwiftUI struct ContentView: View { @State var degree:Int = 18 @State var isDark = false var body: some View { ZStack { LinearGradient(colors:isDark ? [Color.black,Color.blue]:[Color.blue,Color.white], startPoint: .topLeading,endPoint: .bottomTrailing) .ignoresSafeArea() VStack{ VStack{ Text("武汉") .font(.system(size: 50)) .foregroundStyle(Color.white) .onTapGesture { isDark.toggle() } Image(systemName: "cloud.sun.fill") .renderingMode(Image.TemplateRenderingMode.original) .resizable() .scaledToFit() .frame(width:120,height:120) Text("18°C") .font(.system(size: 40)) .foregroundStyle(Color.white) .onTapGesture { degree -= 1 } } .padding() Spacer().frame(height:72) HStack(spacing:30){ VStack{ Text("周四") Image(systemName: "cloud.fill") .renderingMode(Image.TemplateRenderingMode.original) .resizable() .scaledToFit() .frame(width:30,height:30) Text("15°C") .font(Font.system(size: 15)) .foregroundStyle(Color.white) } VStack{ Text("周五") Image(systemName: "sun.max.fill") .renderingMode(Image.TemplateRenderingMode.original) .resizable() .scaledToFit() .frame(width:30,height:30) Text("22°C") .font(Font.system(size: 15)) .foregroundStyle(Color.white) } VStack{ Text("周六") Image(systemName: "cloud.rain.fill") .renderingMode(Image.TemplateRenderingMode.original) .resizable() .scaledToFit() .frame(width:30,height:30) Text("14°C") .font(Font.system(size: 15)) .foregroundStyle(Color.white) } VStack{ Text("周日") Image(systemName: "cloud.fill") .renderingMode(Image.TemplateRenderingMode.original) .resizable() .scaledToFit() .frame(width:30,height:30) Text("16°C") .font(Font.system(size: 15)) .foregroundStyle(Color.white) } VStack{ Text("周一") Image(systemName: "cloud.sun.fill") .renderingMode(Image.TemplateRenderingMode.original) .resizable() .scaledToFit() .frame(width:30,height:30) Text("18°C") .font(Font.system(size: 15)) .foregroundStyle(Color.white) } } Spacer() HStack(spacing:25){} Button{ }label:{ Text("查看未来7天天气") .bold() .frame(width:200,height:50) .background(.white) .cornerRadius(10) } } } } } #Preview { ContentView() }

以下是效果截图:

左侧为light模式,右侧为dark模式,点击“武汉”即可改变页面

二、其他SwiftUI学习

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

在 SwiftUI 中,可以使用 TextField 或自定义视图来创建表单输入。表单常用 Form 容器包裹。

(1)@State 声明的变量用于存储表单数据,并自动更新 UI。

(2)Form 自动生成分组样式和滚动行为。

(3)TextField 的第二个参数是绑定状态变量 $name,确保数据同步。

import SwiftUI struct CustomFormView: View { @State private var name: String = "" @State private var age: String = "" var body: some View { Form { Section(header: Text("个人信息")) { TextField("请输入姓名", text: $name) TextField("请输入年龄", text: $age) .keyboardType(.numberPad) } } } }

2.添加导航栏

(1)NavigationView 是导航容器,可管理页面堆栈。

(2).navigationTitle("标题") 设置页面标题。

struct CustomFormView: View { @State private var name: String = "" var body: some View { NavigationView { Form { TextField("请输入姓名", text: $name) } .navigationTitle("用户信息") } } }

3.修改程序状态

(1)Toggle 控件绑定 @State 变量,实现开关状态更新。

(2)状态改变时,UI 自动刷新。

struct StatusDemoView: View { @State private var isOn: Bool = false var body: some View { Toggle("开关状态", isOn: $isOn) Text(isOn ? "开" : "关") .foregroundColor(isOn ? .green : .red) } }

4.在循环中创建视图

struct LoopView: View { let fruits = ["苹果", "香蕉", "橘子"] var body: some View { Form { Section(header: Text("水果列表")) { ForEach(fruits, id: \.self) { fruit in Text(fruit) } } } } }

结尾疑问:有没有大佬知道xcode里面模拟器机型怎么修改啊,我试过从device里面找到simulators,在其中添加iPhone14,但是在主页中找不到iPhone14的选项,依旧只能用今年的17系列,但是我的macair会变卡卡的,有没有大佬解惑,55555555

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

看完100%会写毕业论文 虎贲等考AI智能写作:https://www.aihbdk.com/

一、选题:找准 “易落地、有价值” 的核心方向​选题是毕业论文的起点,直接决定写作难度和完成质量,需遵循 “三个匹配” 原则:与专业匹配、与能力匹配、与资源匹配。首先,优先从导师研究方向或课题项目中筛选&#xf…

作者头像 李华
网站建设 2026/6/13 17:26:17

浙江某酒店+RWA深度解读:3天5000万升级,入住率从68%到82%的转型之路

浙江一家拥有250间客房的中高端酒店,近期完成了一项创新的资金安排——3天内完成了5000万元的资金规划,用于全面升级智能化系统。他们采用的既不是传统银行贷款,也不是股权合作,而是一种相对新颖的方式:将未来部分客房…

作者头像 李华
网站建设 2026/6/14 13:49:48

独家披露:顶尖量子实验室使用的VSCode连接配置模板(限时公开)

第一章:VSCode 的量子硬件连接配置在现代量子计算开发中,Visual Studio Code(VSCode)已成为主流集成开发环境之一。通过扩展插件和底层API的集成,开发者能够直接从本地编辑器连接到真实的量子硬件设备,实现…

作者头像 李华
网站建设 2026/6/15 3:57:57

AI核心知识47——大语言模型之Data Cleaning(简洁且通俗易懂版)

数据清洗 (Data Cleaning),在大语言模型(LLM)的开发流程中,属于预训练之前的准备工作。如果说预训练是 AI 的“正餐”,那么数据清洗就是“备菜”——把买回来的菜里的烂叶子摘掉、泥土洗净、切好分类,确保 …

作者头像 李华
网站建设 2026/6/11 16:00:48

PMBOK第七版完整学习指南:免费获取中英文PDF资源

PMBOK第七版完整学习指南:免费获取中英文PDF资源 【免费下载链接】PMBOK第七版电子书资源 本仓库提供PMBOK(项目管理知识体系指南)第七版的英文版和中文版PDF电子书,以及详细的目录,方便用户快速查找和学习。新考纲主要…

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

终极指南:企业级AI网关的完整部署与实战应用

终极指南:企业级AI网关的完整部署与实战应用 【免费下载链接】litellm Call all LLM APIs using the OpenAI format. Use Bedrock, Azure, OpenAI, Cohere, Anthropic, Ollama, Sagemaker, HuggingFace, Replicate (100 LLMs) 项目地址: https://gitcode.com/GitH…

作者头像 李华