MultiSelector 0.3

MultiSelector 0.3

[Meng Li] 维护。




  • 作者:
  • lm2343635

MultiSelector

Build Status Version License Platform

MultiSelector 是一个支持 RxSwift 的可自定义的 iOS 多选器。

Demo

文档

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 文件。