如何使用UIPickerView来确定UITextField的值?

时间:2017-05-21 18:57:49

标签: swift uikit uipickerview

我已经构建了一个UIPickerView,让用户可以从美国的所有州中选择。我的目标是让用户点击UITextField并让UIPickerView弹出选项。如何加入UITextField和UIPickerView?

谢谢!

2 个答案:

答案 0 :(得分:1)

    // define variables 
    var timeSlotsPickerView = UIPickerView()
    @IBOutlet weak var timeSlotTextField: BasicTextField!


     override func viewDidLoad() {
            super.viewDidLoad()
            timeSlotsPickerView.delegate = self
            timeSlotTextField.inputView = timeSlotsPickerView // textfield inputview will open pickerview
        }

use the delegate and datasource methods of pickerview

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

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

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        timeSlotTextField.text = "\(array[row])"
    }

答案 1 :(得分:0)

我必须为项目做同样的事情,所以我创建了一个自定义控件来执行此操作。

您可以在github https://github.com/CarterMiller/TextFieldExtensions上获取代码,并按原样使用,或作为您自己版本的起点

您可以扩展UITextField,并在' becomeFirstResponder'

中设置所有内容

在我的示例中,我在弹出视图中显示UITableView,但您可以将它显示在同一ViewController中的某处