SwiftUI
SwiftUI

- SwiftUI是一种基于Swift的强大能力,简单创新的构建用户界面的方法,并且可以运行在苹果所有的平台上。
SwiftUI-声明式语法
- SwiftUI采用声明式语法,因此你可以简单声明你的用户界面

- Xcode11提供了强大的设计工具,可以通过简单的拖拽用SwiftUI生成用户界面
- 只需要描述一次的布局-为你的视图声明任何状态的内容和布局,一旦状态发生改变,SwiftUI会自动更新视图的渲染。
- 构建可复用的组件-将小型、独立视图组合到更大,更复杂的界面中。在任何为Apple平台所设计的应用之间,共享您的自定义视图。
- 精简动画-创建平滑的动画就像调用单个方法一样简单。SwiftUI会在必要时自动计算并过度动画
创建项目


地标页

Image组件


MapView


SwiftUI-动画
按钮动画

SwiftUI探秘
- some view不透明视图
- @state属性包装器
@propertyWrapper
- 通过property Wrapper机制,对一些类似的属性的实现代码做同一封装
- 通过@propertyWrapper可以移除掉一些重复或者类似的代码
@state
- 通过@State SwiftUI实现了值的绑定、动态查找和View的自动重新绘制


课后题
- 查看源码,了解@Binding,@ObservedObject,@EnvironmentObject等装饰器的作用
自定义属性包装器

