I\'m a complete beginner on iOS dev and I want to create a little iOS application. On this application, 3 UIPickerViews
are supposed to display different data.
Try this:
class UserConfig: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet weak var lblPeso: UILabel!
@IBOutlet weak var lblAlto: UILabel!
@IBOutlet weak var pickerView: UIPickerView!
@IBOutlet weak var btPeso: UIButton!
@IBOutlet weak var btAlto: UIButton!
var pulsado = 1
let userDefault = UserDefaults.standard
let pesoArray = [50,51,52,53,54,55,56,57,58,59,
60,61,62,63,64,65,66,67,68,69,
70,71,72,73,74,75,76,77,78,79,
80,81,82,83,84,85,86,87,88,89,
90,91,92,93,94,95,96,97,98,99,
100,101,102,103,104,105,106,107,108,109,
110,111,112,113,114,115,116,117,118,119,
120,121,122,123,124,125,126,127,128,120,
130]
let altoArray = [150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
210, 211, 212]
override func viewDidLoad() {
super.viewDidLoad()
pickerView.delegate = self
pickerView.dataSource = self
}
override func touchesBegan(_ touches: Set, with event: UIEvent?) {
self.view.endEditing(true)
}
@IBAction func volver(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pulsado == 1 {
return altoArray.count
} else {
return pesoArray.count
}
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pulsado == 1{
return String(format: "%i", altoArray[row])
}else{
return String(format: "%i", pesoArray[row])
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if pulsado == 1 {
lblAlto.text = String(format: "%i", altoArray[row])
} else {
lblPeso.text = String(format: "%i", pesoArray[row])
}
}
@IBAction func altoPressed(_ sender: Any) {
pulsado = 1
pickerView.reloadAllComponents()
}
@IBAction func pesoPressed(_ sender: Any) {
pulsado = 2
pickerView.reloadAllComponents()
}
}