如何强制PickerView默认为数组项[0] [英] How to Force PickerView to default to array item [0]
问题描述
我一直在寻找SO两天试图找到一个答案。我甚至可能不会问这个问题正确以便原谅我,如果是这样的话。
我想我的数据采集器默认为数据源阵列该文本框的[0]个项目。目前,我看不到任何一致性,以加载pickerView时如何选择的选择数组项。我有一个空白()作为与思想的数组中的第一项,用户将看到一个空白与下面的所有其他项目的pickerView默认项。
如何可以强制pickerView以显示,阵列中的(在[0]个各阵列项),为当pickerView载荷和示出给用户的默认选择值α
下面是code为pickerViews:
FUNC numberOfComponentsInPickerView(pickerView:UIPickerView) - GT; INT {
返回1
}FUNC pickerView(pickerView:UIPickerView,numberOfRowsInComponent成分为:int) - GT; INT {
返回self.activeDataArray.count
}FUNC pickerView(pickerView:UIPickerView,titleForRow行:智力,forComponent成分为:int) - GT;串! {
返回self.activeDataArray [行]作为!串
}FUNC pickerView(pickerView:UIPickerView,didSelectRow行:智力,inComponent成分:智力){
如果activeDataArray == {personnelName
enterPersonnelName.text = personnelName [行]为String
}
否则,如果activeDataArray == {drugID
enterDrugID.text = drugID [行]为String
}
否则,如果activeDataArray == {packageNumber
enterPackageNumber.text = packageNumber [行]为String
enterQty.text数量= [0]
enterExpDate.text = EXPDATE [0]
}
//把pickerView远
self.view.endEditing(真)
}
编辑:code调用pickerView
FUNC textFieldDidBeginEditing(文本框:的UITextField){
activeDataArray == [] //清除出现场点击数据数组
如果文本框== {enterPersonnelName
activeDataArray = personnelName
}其他
如果文本框== {enterDrugID
activeDataArray = drugID
}其他
如果文本框== {enterPackageNumber
activeDataArray = packageNumber
}其他
如果文本框== {enterQty
activeDataArray =数量
}其他
如果文本框== {enterExpDate
activeDataArray = EXPDATE
}
dataPickerView.reloadAllComponents()//将dataPickerView明确了组件
dataPickerView.hidden = FALSE
}
<一个href=\"https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPickerView_Class/#//apple_ref/occ/instm/UIPickerView/selectRow:inComponent:animated:\"相对=nofollow>在View选择器选择行
覆盖FUNC viewDidLoad中(){
super.viewDidLoad()
pickerView.delegate =自
pickerView.selectRow(0,inComponent:0,动画:FALSE)
}
I have been searching SO for two days now trying to find an answer to this. I may not even be asking the question correctly so forgive me if that is so.
I want my data picker to default to the [0]th item of the data source array for that textField. Currently, I can see no consistency as to how the selected array item is chosen when the pickerView is loaded. I have a blank ("") as the first item in the arrays with the thought that the user would see a blank as the default item in the pickerView with all other items following that.
How can I force the pickerView to show the "" in the array (the [0]th item in each array) as the default selected value when the pickerView loads and is shown to the user?
Here is the code for the pickerViews:
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return self.activeDataArray.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return self.activeDataArray[row] as! String
}
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)
}
Edit: Code to invoke the pickerView
func textFieldDidBeginEditing(textField: UITextField) {
activeDataArray == [] //clear out the clicked field data array
if textField == enterPersonnelName {
activeDataArray = personnelName
} else
if textField == enterDrugID {
activeDataArray = drugID
} else
if textField == enterPackageNumber {
activeDataArray = packageNumber
} else
if textField == enterQty {
activeDataArray = quantity
} else
if textField == enterExpDate {
activeDataArray = expDate
}
dataPickerView.reloadAllComponents() //clear out components of the dataPickerView
dataPickerView.hidden = false
}
Selecting Rows in the View Picker
override func viewDidLoad() {
super.viewDidLoad()
pickerView.delegate = self
pickerView.selectRow(0, inComponent: 0, animated: false)
}
这篇关于如何强制PickerView默认为数组项[0]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!