自Facebook在2016年引入反应功能以来,它已成为多个应用中用户与内容交互的标准方式。ReactionButton是一种控件,允许开发人员以简单的方式将其添加到他们的应用程序中。
特性
- 支持暗黑模式
- 使用
ReactionButtonDelegateLayout
自定义布局 - 可扩展的数据源
- 支持滚动界面的布局(UICollectionView/UITableView)
- 支持Storyboard的Codable初始化器
- 事件
要求
- iOS 13.0+
- Swift 5.0+
安装
用法
1. 基本实例
可以通过框、故事板或空便利初始化器多种方式实例化 ReactionButton
。
示例代码
let buttonSample = ReactionButton(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
buttonSample.dataSource = self
view.addSubview(buttonSample)
来自特朗普反应包风格的图片。
2. 委托
ReactionButton
包含一个用于传递选项选择、选项焦点和操作取消事件的委托。要使用它,请将该协议设置为委托(与 UICollectionView 的模式相同)。
let buttonSample = ReactionButton(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
buttonSample.delegate = self
view.addSubview(buttonSample)
来自特朗普反应包风格的图片。
3. 自定义布局实例
ReactionButton
允许通过 ReactionButtonDelegateLayout
协议来自定义布局。为了使用它,请按照协议约定设置它作为委托(与 UICollectionView 的模式相同)。
func ReactionSelectorConfiguration(_ selector: ReactionButton) -> ReactionButton.Config {
ReactionButton.Config(spacing: 2,
size: 30,
minSize: 34,
maxSize: 45,
spaceBetweenComponents: 30)
}
您可以使用以下变量自定义选择器,这些变量在
作者
Jorge Ovalle, [email protected]