Blueprint
使用 Swift 编写的 iOS 面声明性 UI 构建
Blueprint 大大简化了根据应用程序状态变化构建和更新视图的任务。
我们仍然认为 Blueprint 是实验性的(并且可能受到重大断开 API 变化的影响),但它已经在 Square 的生产级 iOS 应用中使用。
let rootElement = Label(text: "Hello from Blueprint!")
let view = BlueprintView(element: rootElement)
生成的文档可在 square.github.io/Blueprint 查找。
入门
Swift Package Manager
如果您正在开发自己的包,请确保在Package.swift
中将Blueprint包含在dependencies
中
dependencies: [
.package(url: "[email protected]:square/Blueprint.git", from: "0.3.0")
]
在Xcode 11及更高版本中,通过文件
>>Swift Packages
>添加包依赖...
直接将Blueprint添加到您的项目中作为依赖项。在提示时提供git URL:[email protected]:square/Blueprint.git
。
Cocoapods
如果您使用Cocoapods来管理依赖项,只需将BlueprintUI和BlueprintUICommonControls添加到您的Podfile中
pod 'BlueprintUI'
pod 'BlueprintUICommonControls'
这个库做什么?
Blueprint提供了一种构架,允许您
- 声明性地使用Swift的结构体和枚举定义纯值来定义UI层次结构。
- 在您的应用中显示该层次结构。
- 当应用状态改变时更新该层次结构(包括动画过渡)。
我应该何时使用它?
当您想要显示视图层次结构但不想管理视图生命周期时,请使用Blueprint(提示:管理视图生命周期是大多数传统UIKit代码的主要部分)。有时您 确实 想要管理视图生命周期(复杂的动画和过渡是一个很好的例子),在这些情况下,您可能希望坚持传统的做法。
UIKit
交互的?
它是如何与 Blueprint 不是 UIKit 的替代品!从一开始,Blueprint 就被设计成补充平台提供的所有强大工具。您可以使用 Blueprint 来管理单个视图控制器或表示屏幕一小部分的单个视图的显示。同样,在蓝图层次结构中托管标准视图和控制元素也很简单,始终让您有退路。
文档
入门教程
参考
教程
将 Blueprint 添加到现有项目中
提供两个模块
BlueprintUI
包含核心架构和布局类型。BlueprintUICommonControls
包含代表一些常见UIKit
视图和控件的元素。
Blueprint 通过 CocoaPods 提供。将其添加到您的 Podfile
以进行集成
target MyTarget do
pod 'BlueprintUI'
pod 'BlueprintUICommonControls'
end
版权所有 © 2019 Square, Inc.
根据 Apache 许可证第 2 版(“许可证”)授权;不得用于本许可证协议之外的消息。您可以在以下位置获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据本许可证分发的软件按“原样”提供,不提供任何明示或暗示的保证。有关权限和限制的具体语言,请参阅许可证。