2016-04-13 11 views
-1

Ich versuche, die erste Zeile Daten für PickerView zu erhalten.Zeigen Sie die erste PickerView-Zeile auf dem Bildschirm, wenn ich wieder die Seite bin

Ich bekomme erste Daten, wenn ich wieder auf der PickerView-Seite bin, aber ich bekomme die falsche Zeile auf dem Bildschirm. So erhalte ich die erste Zeile:

pickerView(myPickerView!, didSelectRow: 0, inComponent: 0) 

Ich verwende diesen Code in ViewDidLoad. Wie kann ich die erste Zeile auf dem Bildschirm anzeigen?

Antwort

1

kann u die func picker (picker verwenden:

UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView { 

haben einen Blick auf this article

+0

Ich schaute diesen Artikel und versuchte es vorher, aber es funktioniert nicht oder ich finde nicht heraus. – jorjj

+0

was meinst du mit "aber ich bekomme die falsche Zeile ** auf dem Bildschirm **"? Vielleicht müssen Sie einen Delegierten verwenden, um ** einen anderen ** VC zu informieren? Dann können Sie dies in der didSelectRow –

+0

ich mit ViewForRow verwenden. Etwas fehlt auf dem Artikel, aber behandeln Sie es. Ich danke dir sehr. Übrigens brauche ich kein Didselectrow. Ich werde das mit meiner Lösungsantwort erklären. – jorjj

1

bitte diesen Code verwenden, um eine bestimmte Zeile zu wählen,

let picker = UIPickerView() 
picker.selectRow(0, inComponent: 0, animated: true) 
+0

Yeah Es funktioniert, um die erste Zeile anzuzeigen, aber nicht auszuwählen. Ich sehe die erste Zeile, aber es ist nicht die erste Zeile Daten hinter der Rückseite ausgewählt. – jorjj

+0

kannst du mir den Screenshot liefern –

+0

Ich habe vergessen, Daten zu entschuldigen. Ich habe diesen Code in der Funktion viewForRow verwendet, aber er ist sehr langsam, weil er animiert. Ich habe eine Lösung mit deinen Antworten gefunden. Ich werde meine Lösung schreiben. Vielen Dank! – jorjj

0

ich aufgeben Erhalte die Daten der ersten Picker-Zeile, wenn ich auf die Seite zurückkomme Ich denke, es sollten die ausgewählten Zeilendaten sein, die ich erhalten sollte Ich habe deine Lösungen kombiniert und finde die Lösung

Arbeitscode:

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView { 

    let pickerLabel = UILabel() 
    let titleData = newuser!.valueForKey("name").objectAtIndex(row) as! String 
    let myTitle = NSAttributedString(string: titleData, attributes: [NSFontAttributeName:UIFont(name: "Times New Roman", size: 25.0)!,NSForegroundColorAttributeName:UIColor.whiteColor()]) 
    pickerLabel.attributedText = myTitle 
    pickerLabel.textAlignment = .Center 

    selectedLog = (newuser?.valueForKey("name").objectAtIndex(row))! as! String 

    return pickerLabel 
} 

Diese viewForRow Funktion bietet mir ausgewählte Zeilendaten zu erhalten, wenn ich die pickerView Seite zurückkommen. selectedLog ist meine String-Variable. Ich zeige und speichere die ausgewählten Zeilendaten von hier. titleData Variable liefert mir ausgewählte Daten. Das ist es! Danke an alle.

Verwandte Themen