5.3 KiB
5.3 KiB
部门课 03:个人兴趣名片与页面组合
教学目标
- 用入门语言认识
struct ContentView: View、body和some View在 SwiftUI 代码骨架中的作用,但不展开协议、泛型和结果构建器。 - 理解 SwiftUI 通过 View 层级声明界面的基本方式,能根据缩进和花括号识别简单的父子 View 关系。
- 理解并实际使用
VStack、HStack和ZStack,知道它们分别组织纵向、横向和前后层叠关系。 - 认识
alignment、spacing和Spacer对布局关系的影响。 - 能判断一个 Modifier 作用在哪个 View 上,并通过调整参数或顺序观察可见变化。
- 能把一张单屏兴趣名片拆成外层、身份区、兴趣区和样式层,再逐块组合成页面。
- 会使用 Preview 辅助观察,并以模拟器 Build/Run 作为最终验证。
教学内容
1. 从成品界面到 View 层级
- 课堂使用授课干部提供的极简可运行项目,初始页面只有占位内容,不提供完整卡片模板。
- 先展示完成版个人兴趣名片,再将页面拆成外层、身份区、兴趣区和样式层,并画出对应的 View 树。
- 说明 SwiftUI 使用声明式方式描述界面:代码主要表达界面由什么组成、这些内容怎样嵌套和组合,而不是逐个指定屏幕坐标。
- 用初学者能够理解的口径认识
struct ContentView: View、body、some View和花括号的位置与作用,不要求解释其完整语言原理。
2. 使用三种 Stack 组合页面
- 使用
ZStack组合卡片背景与前景内容。 - 使用
VStack纵向组织身份、介绍和兴趣区域。 - 使用
HStack横向组织图标、昵称信息和兴趣内容。 - 通过简单调整观察
alignment、spacing和Spacer怎样改变元素之间的关系。 - 使用
Text、Image、SF Symbols 和基础 Shape 完成静态内容,不引入交互或动态数据。 - 每增加一个区域都先观察或预测层级关系,再通过 Preview 或模拟器查看实际结果。
3. Modifier 的作用对象与顺序
- 使用字体、颜色、
padding、背景和圆角等常见 Modifier 完成基础样式。 - 根据点语法和缩进判断 Modifier 正在修改哪个 View。
- 至少交换一次
padding与背景等 Modifier 的顺序,观察结果差异,建立“Modifier 会产生新的界面描述,作用对象和顺序会影响结果”的基本认识。 - 修改昵称、兴趣、SF Symbol 或配色,完成至少一处个人表达。
4. AI 可选互动与课程边界
授课干部可以根据课堂节奏选择以下互动,不作为共同完成要求:
- 让学员询问 AI 某段代码的父子层级,再回答其中哪个是父 View、哪个是子 View。
- 让 AI 预测修改 Stack 或交换 Modifier 后的效果,再由学员实际运行验证。
- 让 AI 提出一个范围明确的样式调整,但不允许直接重写整个项目。
本节不讲授 @State、按钮交互、数组、ForEach、动态数据、导航、多页面、自定义 View 拆分、完整 Swift 语法体系或 SwiftUI 底层布局算法。基础版本不要求导入图片;素材库图片仅作为自愿尝试,并且只能使用本人创作或确认可公开使用的素材。
授课干部备课时可参考 Apple View fundamentals、Building layouts with stack views 和 Configuring views。
课后作业
最低完成标准
- 完成并个性化一张个人兴趣名片,使用昵称或虚构身份、一句兴趣介绍和若干兴趣内容。
ZStack、VStack和HStack均在页面中承担明确的布局作用。- 至少完成一处内容修改和一处样式或布局修改。
- 在模拟器中成功 Build/Run,并保存一张运行截图记录结果。
- 通过个人 Fork 和作业分支提交完整项目源码 PR,简要说明三种 Stack 分别负责什么,以及一个 Modifier 调整后的变化。
建议完成标准
- 尝试图片导入或额外装饰,仅使用本人创作或确认可公开使用的素材。
- 进一步调整布局或样式,并运行比较效果。
公开作品不放真实姓名、学号、联系方式或私人资料。AI 使用可选,未使用时说明即可。目录、分支、PR 模板和操作流程在备课时结合实际仓库确定;未完成或提交受阻时按共同安排记录当前状态并求助。
验收方式
- 确认项目能够真实 Build/Run,运行截图用于记录结果。
- 从代码和运行结果确认三种 Stack 承担实际布局作用,且有一处内容修改和一处样式或布局修改。
- 结合 PR 中的简短说明了解学员的理解;说明不完整用于反馈,不因表达不够准确拒绝已达到基础要求的作品。
- 源码提交与隐私检查按共同安排处理,满足条件后给出简短反馈并合并。
- 不以视觉精致度、代码行数、额外功能或能否解释全部 Swift 语法作为门槛。
- 部门课 04 开头可选择少量作品复习 Stack 或 Modifier,不安排逐人技术答辩,不评分或淘汰。
- 未完成的 Draft PR 保留并提供帮助,修正后再转为正式 PR。