У меня есть три текстовых поля, для которых я показываю тот же вид сборщика, что и раскрывающийся список для выбора значений. Таким образом, условие состоит в том, что у меня есть 5 значений в массиве со значениями красный, синий, зеленый, желтый, черный.
Итак, условие
Эти три текстовых поля не могут иметь одинаковое значение. То есть если для первого текстового поля 1, если я выбираю красный в качестве значения из средства выбора, значение «красный» должно быть удалено или отключено из представления средства выбора, когда я выбираю текстовое поле 2 или текстовое поле 3.
И если я изменю значение текстового поля 1 с красного на черное в представлении средства выбора, значение красного, которое отключено или удалено, должно быть добавлено обратно в окно средства выбора, когда я щелкаю текстовое поле 2 или текстовое поле 3.
Код, который я пробую: 1013 *
import UIKit
class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet weak var textFiled1: UITextField!
@IBOutlet weak var textFiled2: UITextField!
@IBOutlet weak var textFiled3: UITextField!
@IBOutlet weak var pickerView: UIPickerView!
var Array = ["Blue", "Green", "Red", "White", "Grey"]
var indexOfPicker = Int()
override func viewDidLoad() {
super.viewDidLoad()
pickerView.dataSource = self
pickerView.delegate = self
}
@IBAction func minusButton(_ sender: UIButton) {
if Array.count != 0 {
Array.remove(at: indexOfPicker)
pickerView.reloadAllComponents()
}
}
@IBAction func plusButton(_ sender: UIButton) {
if textFiled.text != "" {
Array.append(textFiled.text!)
pickerView.reloadAllComponents()
}
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return Array.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return Array[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
indexOfPicker = row
}
}