J'utilise 2 Pickerview dans mon application. Cependant, leurs informations vont se mélanger lors de l'utilisation. Par exemple: Si je sélectionne 2.row dans le premier sélecteur, alors le système change la deuxième rangée de sélecteurs en 2, et inversement fait la même chose.Informations mal placées sur 2 PickerView
Mon code est ici:
override func viewDidLoad() {
super.viewDidLoad()
petArray = ["A","B","C","D"]
feedTimeArray = ["1","2","3","4"]
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView.tag == 1{
return petArray.count
}
if pickerView.tag == 2 {
return feedTimeArray.count
}
return 0
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView.tag == 1 {
return petArray[row]
}
if pickerView.tag == 2{
return feedTimeArray[row]
}
return ""
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
selectedFeed = feedTimeArray[row]
print(feedTimeArray[row])
if selectedFeed == feedTimeArray[1] {
//case 1
}
if selectedFeed == feedTimeArray[2] {
//case 2
}
if selectedFeed == feedTimeArray[3] {
//case 3
}
selectedPet = petArray[row]
print(petArray[row]) }
Exemple:
J'ai choisi le système B changé deuxième sélecteur à 2
I sélectionné système 4 changé premier sélecteur à D
Vous pouvez également ajouter une condition de vérification de l'étiquette de la vue d'ensemble dans didselectRow. – Sneha
@Sneha Your et Zee's nswer résoudre le problème, merci! – Egrimo