Ich versuche, eine einzelne UIPickerView mit 2 Komponenten mit jeweils unterschiedlicher Zeilenanzahl zu erstellen. Ich dachte, ich könnte die Zeilennummer pro Komponente auf dem Index der Komponente basieren, aber wenn ich meine App ausführe, zeigt UIPickerView nur eine einzige leere Zeile an und erlaubt kein Scrollen.
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 2
}
// grades is a 2D array
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return grades[component].count
}
// level and letter are predefined ints
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if component == 0 {
level = row
}else if component == 1 {
letter = row
}
return ""
}
BEARBEITEN:
Dies ist meine viewDidLoad ()
override func viewDidLoad() {
super.viewDidLoad()
pickerView.dataSource = self;
pickerView.delegate = self;
}
Ich glaube, Sie sollten einen nicht leeren Titel zurückgeben, damit es funktioniert
...
// level and letter are predefined ints
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if component == 0 {
level = row
} else if component == 1 {
letter = row
}
return "Component: \(component) Row: \(row)" // whatever string you want to display
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen