我目前正在研究一個小項目,並且我有一個viewController,它有4個textFields,它們可以正常工作。他們採取字符串對象。但是,第4個textField應該帶有一個帶有4個可選項目的UIPickerView。當用戶點擊UITextfield時,以編程方式實現UIPickerView
到目前爲止,這是我在我的控制器實現這一點:
@IBOutlet var pickerTextfield: UITextField!
@IBOutlet var itemPicker: UIPickerView! = UIPickerView()
的pickerTextfield
是UITextField對象是第四場。 itemPicker
是一個未鏈接的UIPickerView,我想以編程方式創建。
右下面這些屬性,我有一個項目爲UIPickerView
對象的數組:
var seasonalItems = ["Spring", "Summer", "Fall", "Winter"]
在我viewDidLoad中方法我有這個如下:
itemPicker.hidden = true;
pickerTextfield.text = seasonalItems[0]
pickerTextfield.delegate = self
而其餘的的實施:
// Below the lines i s的文字的選擇器
func numberOfComponentsInPickerView(pickerView: UIPickerView!) -> Int{
return 1
}
// returns the # of rows in each component..
func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int{
return seasonalItems.count
}
func pickerView(pickerView: UIPickerView!, titleForRow row: Int, forComponent component: Int) -> String! {
return seasonalItems[row]
}
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int)
{
pickerTextfield.text = seasonalItems[row]
itemPicker.hidden = true;
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
itemPicker.hidden = false
return false
}
所以從這個最後的結果是,當我點擊在該應用中的pickerTextfield
對象,它顯示了陣列的第一項(彈簧),但在UITextField對象內執行,但它不會顯示UIPickerView對象與其他可選項目,我可以選擇其中一個,然後在選定時隱藏它。
我的問題是,我在哪裏或在做什麼錯在這裏?我一直試圖自己弄清楚這一點,但我似乎沒有得到很好的清晰的例子與斯威夫特和故事板。我寧願不要在故事板中拖動一個UIPickerView,而是以我試圖實現的方式。謝謝
任何人有任何其他方法?這仍然不起作用 – Amit 2015-04-04 04:41:14
@認爲它似乎工作。你遇到了什麼問題? – webjunkie 2016-08-11 02:16:29