SwiftUI

85 阅读1分钟

SwiftUI

image.png

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

SwiftUI-声明式语法

  • SwiftUI采用声明式语法,因此你可以简单声明你的用户界面

image.png

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

image.png

image.png

地标页

image.png

Image组件

image.png

image.png

MapView

image.png

image.png

SwiftUI-动画
按钮动画

image.png

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

image.png

image.png

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

image.png

image.png