如何在pickerView [swift]中返回初始值

时间:2015-12-07 19:45:46

标签: ios swift2 uipickerview

在我的项目中,用户将使用pickerView将数据输入到字段中。某些字段将只有很少的值可供选择,并且通常初始值或源数组的第0个值将是所需的值。但是,当pickerView出现且第0个值是最初选择的值时,用户必须选择不同的值,选择第0个值以使该值填充该字段。我希望这是有道理的。

如何让用户只需点击该字段即可调出pickerView,然后,如果突出显示的值是所需的值,则允许用户只需单击完成按钮并使用该字段填充字段值?

以下是didSelectRow的代码:

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    if activeDataArray == personnelName {
        enterPersonnelName.text = personnelName[row] as String
    }
    else if activeDataArray == drugID {
        enterDrugID.text = drugID[row] as String
    }
    else if activeDataArray == packageNumber {
        enterPackageNumber.text = packageNumber[row] as String
        enterQty.text = quantity[0]
        enterExpDate.text = expDate[0]
    }
    //put pickerView away
    //self.view.endEditing(true)
}

我查看了类似问题列表,并用不同的短语搜索了问题,但我没有发现任何似乎可以回答我的问题。如果我错过了答案,请指出我的方向。

感谢您的时间和帮助。

2 个答案:

答案 0 :(得分:0)

func selectedRowInComponent(_ component:Int) - > Int将告诉您当前在选择器视图中选择了哪个项目。完成按钮应连接到IBAction,它将找到所选的行,然后从适当的数组(drugID或packageNumber?)获取数据。请注意,您也可以选择“为用户预选默认值”。

答案 1 :(得分:0)

目标-C

将此添加到您的viewDidLoad

[pickerView selectRow:2 inComponent:0 animated:YES];

pickerView是您选择器视图的名称

selectRow是您要预选的行(当然从0开始计数)

inComponent是组件编号,如果选择器视图中有多个组件,在这种情况下,它是从第一个组件中进行选择(如果组件是选择器视图中f列的值,只有一个,将其保留为0)