MultiSelector
MultiSelector 是一个支持 RxSwift 的可自定义的 iOS 多选器。
文档
MultiSelector 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'MultiSelector'
自定义模型
为自定义按钮定义的自定义模型必须包含按钮的标题。如果您想控制按钮的 isEnabled
属性,只需将其添加到您的自定义模型中即可。
struct Model: MultiSelectorModel {
let title: String
let isEnabled: Bool
}
自定义按钮
public class Button: MultiSelectorButton {
public override func configure(model: MultiSelectorModel?) {
// customized code.
}
}
设置按钮
multiSelector.buttonType = Button.self
multiSelector.delegate = self
multiSelector.models = [model1, model2, ...]
multiSelector.numberOfSelectableItems = 4
multiSelector.numberOfColumns = 4
multiSelector.verticalSpaceing = 10
multiSelector.horizontalSpacing = 10
观察选中索引
extension ViewController: MultiSelectorDelegate {
func didSelectedIndexUpdated(indexes: [Int]) {
}
}
RxSwift 支持
multiSelector.rx.indexesSelected.subscribe(onNext: { [unowned self] in
print($0.map { self.allModels[$0] })
}).disposed(by: disposeBag)
示例
要运行示例项目,请首先克隆仓库,然后在 Example 目录中运行 pod install
。
许可证
MultiSelector 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。