描述
AirBar 是一个用于创建酷炫可展开菜单的库。该库会观察 UIScrollView 的滚动,并为你提供可以应用到 UI 元素的状态。
演示
安装
库支持 Carthage 依赖管理器。为了安装 AirBar,将以下行添加到项目根目录的 Cartfile 中。
github "uptechteam/AirBar" ~> 2.0
如何使用
-
使用
BarController(configuration Configuration, stateObserver: StateObserver)
初始化器创建BarController
对象,其中Configuration
是一个包含高度配置的结构体,StateObserver
是在状态更改时将被调用的闭包。 -
使用
set(scrollView: UIScrollView)
方法将BarController
绑定到您的UIScrollView
对象。 -
在作为
StateObserver
初始化参数传递的闭包中提供 UI 变换。闭包将接收State
对象,该对象具有以下公共方法
height()
- 返回栏的高度;transitionProgress()
- 返回栏的过渡进度,介于 0 和 2 之间,其中 0 - 紧凑状态,1 - 正常状态,2 - 展开状态;value(compactNormalRange: ValueRangeType, normalExpandedRange: ValueRangeType)
- 返回用于配置 UIKit 元素属性的转换后 CGFloat 值。ValueRangeType
是一个枚举,包含.range(CGFloat, CGFloat)
和.value(CGFloat)
两种情况。例如,如果您需要在常规-扩展转换中使用静态值1
,在紧凑-常规转换时使用范围(0, 1)。
- (可选)向仓库贡献。
您还可以在库项目中找到示例应用程序。
多个 UIScrollView 对象
BarController
支持使用多个 UIScrollView
对象。您可以使用 preconfigure(scrollView: UIScrollView)
方法在通过 set(scrollView: UIScrollView)
方法设置之前配置滚动视图。
待办事项
- 实现扩展/连接抵抗;
- ...