下拉式UIPickerView?

时间:2016-11-02 07:28:44

标签: ios swift drop-down-menu uipickerview

我想知道如何在点击下拉式按钮后让UIPickerView从屏幕底部向上滑动。如下图所示:

CloudConvert screenshot of a drop-down style UIPickerView

我经常在我经常使用的应用中遇到这种类型的选择器视图,所以说实话,我希望通过设置UIPickerView' s来轻松找到此选择器视图{1}}属性,或类似的东西。这甚至是style还是我必须手动创建这种视图?

1 个答案:

答案 0 :(得分:4)

执行此操作的一种方法是使其处于正常UITextField,然后将UIPickerView指定为该文本字段的inputView。这样,当您点击文本字段时,不会显示键盘,而是获取您的选择视图。

实施例

首先声明一个普通的UIPickerView实例:

let yourPicker = UIPickerView()

UITextField的出口:

@IBOutlet weak var yourTextField: UITextField!

viewDidLoad中,您将元素绑定在一起

yourPicker.delegate = self
yourPicker.dataSource = self
yourTextField.inputView = yourPicker

然后您需要实施UIPickerViewDelegateUIPickerViewDataSource

所需的方法

最后。在pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)中,您可以更新文本字段的值:

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
   yourTextField.text = yourDataArrayUsedInThePicker[row]
}

了解更多

inputView的说明 https://developer.apple.com/library/content/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/InputViews/InputViews.html

比我更好的解释: Show UIPickerView text field is selected, then hide after selected

希望能帮到你。