CellPickerView 0.0.2

CellPickerView 0.0.2

Essam Ewaisha 维护。



Cocoapods Compatible Platform License

CellPickerView

Swift UIView,允许用户通过流畅的用户体验选择选项。

描述

CellPickerView 是一个 UIView 子类,允许用户从选项列表中选择一个或多个选项,将选择逻辑和动画封装起来。单元格可以包含文本、图标或两者都包含。

示例预览

Preview

待办事项

  • 基本功能
  • 动画
  • 边框
  • 通过 Cocoapods 发布
  • 复杂动画
  • 每个单元格的 UI 定制委托

安装

Cocoapods

在您的Podfile中添加以下行

pod 'CellPickerView'

使用

通过Storyboard初始化

  1. 将UIView添加到您的视图控制器中
  2. 在右侧边栏中,根据身份检查器,将UIView的类和模块设置为CellPickerView
  3. 将输出引用拖动到您的视图控制器中

或者,您可以通过视图控制器实例化视图来初始化视图,使用其中一个初始化器

let cellPickerView = CellPickerView()
  • 使您的视图控制器遵守CellPickerDataSource协议
extension ViewController: CellPickerDataSource {

  func numberOfCells(inPicker picker: CellPickerView) -> Int {
     return 4
  }
  func cell(forPicker picker: CellPickerView, atIndex index: Int) -> CellAdapter {
     return CellAdapter(image: UIImage(named: "Icon")!, label: index == 0 ? "Foo")
  }
}

注意:CellAdapter是一个用于向选择器视图提供数据的适配器。您使用图标、文本或两者初始化CellAdapter

  • 设置pickerview的数据源
cellPickerView.dataSource = self
  • 如有需要,自定义pickerview的UI
override func viewDidLoad(){
    cellPicker.selectionAnimation = .bubble // Animation Type
    cellPicker.cellCornerRadius = 3 // Corner radius of each cell
    cellPicker.cellBorderColor = UIColor.blue.cgColor
    cellPicker.cellBorderWidth = 2
    cellPicker.canSelectMultiple = true // Set to true if the user can select multiple cells at the same time. If set to false the user's selection will be deselected upon new selection.
    cellPicker.unselectedTextColor = UIColor.blue
    cellPicker.spacing = 8 //Spacing between 
    cellPicker.reloadData()
}

注意:您必须在自定义cellPickerView之后调用reloadData,如果在此之前设置了数据源,以确保新更改得以传播

属性

属性 描述 默认
animationDuration 选择动画的持续时间。如果选择Animation设置为.noAnimation,则此字段将丢弃 0.2
canSelectMultiple 如果用户可以同时选择多个单元格,则将其设置为true。如果设置为false,则选中单元格将在新选择时取消选中 true
selectedTextColor 选中状态下标签的颜色 white
unselectedTextColor 正常状态下的标签颜色 black
selectedBackgroundColor 选中状态下单元格的背景颜色 blue
unselectedBackgroundStateColor 正常状态下单元格的背景颜色 white
maxWidth 如果设置,该值将用于计算单元格宽度。否则,单元格将尽可能大。 空值
间距 单元格间的间距。注意,最左端和最右端的单元格与边框的间距将为0,无论此值为何。 0
cellBorderWidth 每个单元格边框的宽度 0
cellBorderColor 单元格边框的颜色 空值
cellCornerRadius 单元格角落的半径 0
selectionAnimation 在选中时执行动画 .bubble

贡献

如果您有任何问题或想要请求新功能,请创建一个问题。如果您想贡献,请提交一个拉取请求。