我是Swift新手。要在我的應用程序中填充一些文本框,我想使用一個選擇器視圖,該視圖根據要填充的文本框來更改其人口。我的問題是,功能textFieldShouldBeginEditing
似乎不起作用。變量textFieldName
不會更改其名稱。不幸的是,我在這裏找到的所有代碼僅適用於Objective-C。我希望你能幫我把這段代碼運行起來。根據使用哪個文本字段更改一個選取器視圖的人口
這裏是我的代碼:
@IBOutlet weak var Stadt: UITextField!
@IBOutlet weak var Untergrund: UITextField!
@IBOutlet weak var Groesse: UITextField!
@IBOutlet weak var AnzToreKoerbe: UITextField!
@IBOutlet weak var Platzart: UITextField!
var UntergrundArray = ["Kunstrasen Sand", "Kunstrasen Granulat", "Rasen", "Tartan", "Teer"]
var StadtArray = ["Norderstedt", "Hamburg", "Berlin", "München"]
var GroesseArray = ["1 vs 1", "2 vs 2", "3 vs 3", "4 vs 4", "5 vs 5", "6 vs 6", "7 vs 7"]
var AnzTorKoerbe = ["1", "2", "3", "4"]
var Art = ["Fußball", "Basketball"]
var textFieldName = "Stadt1"
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool{
if textField.tag == 1{
textFieldName = "Stadt1"
}else if textField.tag == 2{
textFieldName = "Untergrund1"
}else if textField.tag == 3 {
textFieldName = "Groesse1"
}else if textField.tag == 4 {
textFieldName = "AnzToreKoerbe1"
}else if textField.tag == 5 {
textFieldName = "Platzart1"
}
return true;
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if (textFieldName.isEqual("Stadt1")) {
return StadtArray.count
}else if (textFieldName.isEqual("Untergrund1")) {
return UntergrundArray.count
}else if (textFieldName.isEqual("Groesse1")) {
return GroesseArray.count
}else if (textFieldName.isEqual("AnzToreKoerbe1")) {
return AnzTorKoerbe.count
}else {
return Art.count
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if (textFieldName.isEqual("Stadt1")) {
return StadtArray [row]
}else if (textFieldName.isEqual("Untergrund1")) {
return UntergrundArray [row]
}else if (textFieldName.isEqual("Groesse1")) {
return GroesseArray [row]
}else if (textFieldName.isEqual("AnzToreKoerbe1")) {
return AnzTorKoerbe [row]
}else {
return Art [row]
}
}
乾杯隊友,它解決了。我忘了將UITextfield設置爲委託。但是現在我想用currentData [row]填充Textfield。我已經設置了pickerDidselect功能,但是我不確定如何掌握這個功能.... – AlexVilla147
Ich解決了它! – AlexVilla147