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

(1)SwiftUI基础入门教程

🌱 SwiftUI 基础入门:构建静态布局

一、SwiftUI 的核心理念

SwiftUI 是一种 声明式 UI 框架
你不再告诉系统「怎么画」界面,而是「描述界面是什么样的」。

例如:

Text("Hello, world!")

SwiftUI 会自动渲染出这段文字,而不是你手动去调用绘制方法。


二、基础控件介绍

1️⃣ Text —— 显示文字
Text("Hello, SwiftUI!").font(.title)       // 设置字体大小.fontWeight(.bold)  // 加粗.foregroundColor(.blue) // 设置文字颜色
2️⃣ Image —— 显示图片

图片文件要放在 Assets.xcassets 里。

Image("swift-logo").resizable()        // 允许缩放.scaledToFit()      // 按比例缩放.frame(width: 100, height: 100)

也可以使用系统图标(SF Symbols):

Image(systemName: "star.fill").foregroundColor(.yellow).font(.system(size: 40))
3️⃣ Button —— 按钮(带点击动作)
Button("点我一下") {print("按钮被点击了!")
}
.font(.title2)
.padding()
.background(Color.orange)
.foregroundColor(.white)
.cornerRadius(10)

三、布局容器(Stacks)

SwiftUI 里最常用的三种布局:

布局容器说明用法示例
VStack垂直排列从上到下
HStack水平排列从左到右
ZStack层叠排列从后到前
1️⃣ VStack – 垂直布局
VStack {Text("上面文字")Text("下面文字")
}
2️⃣ HStack – 水平布局
HStack {Image(systemName: "heart.fill")Text("喜欢")
}
3️⃣ ZStack – 层叠布局
ZStack {Image("background").resizable().scaledToFill()Text("在背景上叠加文字").font(.title).foregroundColor(.white)
}

四、综合示例:静态界面布局

import SwiftUIstruct ContentView: View {var body: some View {ZStack {// 背景层Color(.systemTeal).ignoresSafeArea()VStack(spacing: 20) {// 标题Text("我的 SwiftUI 名片").font(.largeTitle).fontWeight(.bold).foregroundColor(.white)// 头像Image("swift-logo").resizable().scaledToFit().frame(width: 120, height: 120).clipShape(Circle()).overlay(Circle().stroke(Color.white, lineWidth: 4))// 个人信息VStack(spacing: 8) {Text("iOS 学习者").font(.title2).foregroundColor(.white)Text("从零开始学 SwiftUI 🚀").foregroundColor(.white.opacity(0.8))}// 按钮Button(action: {print("按钮点击")}) {Text("开始学习").padding().frame(maxWidth: .infinity).background(Color.white).foregroundColor(.teal).cornerRadius(12).padding(.horizontal, 40)}}}}
}#Preview {ContentView()
}

在这里插入图片描述

五、练习任务 ✅

  1. 修改标题文字,换成你自己的名字;
  2. 把头像换成你喜欢的图片;
  3. 给按钮换个颜色;
  4. HStack 增加几行社交信息,比如「📱 iPhone 开发者」;
  5. 尝试把背景换成图片。
http://www.dtcms.com/a/454081.html

相关文章:

  • wordpress整站搬家教程河池做网站
  • 怎么改版一个网站白酒网站设计
  • windows显示驱动开发-节能与 VSync 控制
  • 安徽省住房和城乡建设厅官方网站网站访问量大
  • 好的平面设计网站有哪些易云巢做营销型网站
  • 从0死磕全栈之Next.js 中的错误处理机制详解(App Router)
  • c语言贪吃蛇游戏开发
  • 360网站seo优化怎么做简单网站
  • 小说网站静态模板设计师设计费一般多少
  • 网站主机要怎么做跨境电商交3980元培训费可信吗
  • Coze源码分析-资源库-编辑知识库-后端源码-流程/技术/总结
  • 哺乳动物双等位基因表达的 “守护者”--解析 MSL2对基因剂量平衡与疾病机制的新启示--文献精读164
  • 阿里云网站建设需要多少钱开发软件公司都有哪些
  • CTFHub SQL注入通关笔记4:布尔盲注(手注法+脚本法)
  • 虎书Fundamentals Of Computer Graphics翻译及笔记(1)——前言
  • 建网站公司室内设计效果图网站推荐
  • 网站建设收徒弟设计韩国电影完整版下载
  • 应聘网站优化的简历怎么做全新升级网站
  • 我的第一个网站
  • windows下将redis注册为windows服务
  • IT架构中的前后中台:SuperCell与阿里中台战略启示
  • 外贸工厂的网站建设长沙做网站智投未来
  • 国外商品网站企业微网站建站
  • 第六章 面向对象编程(基础部分)
  • 接口联调常见错误排查:从400 Bad Request到502 Gateway
  • 南通网站制作价格微金所网站谁做的
  • 域名哪个网站续费单项否决 网站建设
  • three.js与WebGL
  • 网站推广计划怎么写标书制作员是干什么的
  • Doris专题9- 行列混存和冷热数据分层