mtpPickerField 1.0.5

mtpPickerField 1.0.5

mtpFontManager 维护。



  • 作者
  • Mostafa Taghipour

mtpPickerField

CI Status Version License Platform

mtpPickerField 是在多个选项中选择的一个好组件。这个自定义控件由一个 UITextField 和一个 UIPickerView、UIDatePicker、UItableView、UICollectionView 控件的组合组成,这些控件被构建成一个 ActionSheet。

screen shots

需求

  • iOS 9.0+
  • Xcode 9+

安装

mtpPickerField 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行:

pod 'mtpPickerField'

使用

  • 将一个 UITextView 对象拖到画布上。
  • 在标识检查器中,将自定义类名设置为 PickerField。
  • 设置其类型。
  • 现在您可以根据字段类型使用控件。
class ViewController: UIViewController , UIPickerViewDataSource {
    @IBOutlet weak var pickerViewField: PickerField!
    let states = ["Alaska",
                "Alabama",
                "Arkansas",
                "American Samoa",
                "Arizona",
                "California"]

    override func viewDidLoad() {
        super.viewDidLoad()

        pickerViewField.type = .pickerView
        pickerViewField.pickerView?.dataSource=self
        pickerViewField.placeholder="your state ..."
        pickerViewField.titleLabel?.text="select a state"
        pickerViewField.pickerFieldDelegate=self
        tabelViewField.height=400
        tabelViewField.cancelWhenTouchUpOutside=false
    }

    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return states.count
    }

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return states[row]
    }

}
  • 您还可以使用了解 PickerFieldDelegate 的事件的发生。
extension ViewController:PickerFieldDelegate{
    func pickerField(didOKClick pickerField: PickerField) {
        if pickerField.type == .pickerView{
            if let row=pickerField.pickerView?.selectedRow(inComponent: 0){
                pickerField.text=states[row]
            }
        }
    }
}

有关更多示例,请查看示例项目。

示例

要运行示例项目,请先克隆仓库,然后从 Example 目录运行 pod install

作者

Mostafa Taghipour, [email protected]

许可证

mtpPickerField 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。