HowTo —— SwiftUI2.0 文件导入导出
SwiftUI2.0 中新增了原生的文件导入导出功能。需注意的是对于不同目录下文件的导出行为会有不同,不同平台下对于权限的处理也不同。
SwiftUI2.0 中新增了原生的文件导入导出功能。需注意的是对于不同目录下文件的导出行为会有不同,不同平台下对于权限的处理也不同。
SwiftUI2.0 增加了滚动定位功能,已经可以较轻松的适应大多数场景的应用。实现手段完全不同于之前民间的各种解决方案,并不是通过设置具体的 offset 来进行定位,而是使用 id 来进行位置标记。
SwiftUI2.0 新增了一些便捷的内置控件,比如说 Label、ProgressView 等。其基本形态都很普通,不过都支持自定义 style。官方的意图也比较明显,通过内置控件,规范代码、提高原型编写速度,如需要更精细控制可通过扩展 style 来完成。
SwiftUI2.0 由于可以采用新的代码架构(Life Cycle SwiftUI App)来组织 app, 因此提供了 onOpenURL 来处理 Univeresal Links。不同于在 AppDelegate 或 SceneDelegate 中的解决方案,onOpenURL 作为一个 view modifier,你可以在任意 View 上注册你的 app 的 URL 处理机制。
SwiftUI2.0 为了实现更好的多平台支持同时需要兼顾 1.0 版本代码兼容性,提供了一些与已有控件功能上类似但名称和用法全新的控件。比如 ToolBar, navigationTitle 等。Toolbar 可以实现 navigationbarItems 的全部功能,并新增了在多平台下的适配。采用了全新的语法,代码更易阅读。
SwiftUI2.0 提供了原生的打开 URL scheme 的功能,我们可以十分方便的在代码中调用其他的 app。
SwiftUI 的第一版中,官方并没有提供 UICollectionView 的对应功能。开发者需要自行包装或者依赖很多第三方库。SwiftUI2.0 中,苹果通过 LazyVGrid、LazyHGrid 提供了 Grid 控件。该控件的实现很有 SwiftUI 的风格,和众多的第三方库有显著的区别。
SwiftUI2.0 提供了 LazyVStack 和 LazyHStack,其作用是只有当 View 在可见区域内才进行渲染,这样可以大大大提高 app 执行效率
SwiftUI2.0 中新增了 Label 控件,方便我们添加由图片和文字组成的标签。
Swift2.0 中,苹果添加了 Map,让开发者可以非常容易的在 View 中添加需要的地图元素。本文简单介绍了其用法