Ab Swift zu lernen und ist versucht zu wandeln diesen ObjectiveC Code setzen:Wie UISegmentedControl Tint Farbe für einzelnes Segment
[[mySegmentedControl.subviews objectAtIndex:0] setTintColor:[UIColor blueColor]]
Dieser richtig setzen mit dem den Farbton des ersten Segments.
Dies ist der am nächsten komme ich habe eine Swift-Version des gleichen Code zu bekommen:
mySegmentedControl?.subviews[0].tintColor = UIColor.blueColor()
Der Fehler, den ich bekommen ist '@Ivalue $T9' is not identical to 'UIColor!!'
Ich verstehe nicht, was dieser Fehler bedeutet. Wenn ich mir die .tintColor
Methode ansehe, listet sie UIColor!?
auf und ich habe noch nicht gefunden, was die !?
zusammen in Swift bedeutet.
Wenn mySegmentedControl ein IBOutlet? Wenn ja, deklariere es @IBOutlet var mySegmentedControl = UISegmentedControl! Dann brauchst du das nicht? Operator. Das wird das ganze Problem nicht lösen, aber das ist eine Sache. Wenn Subviews [0] null zurückgeben können, ist es optional, also setzen Sie vielleicht ein! nach [0]. – clearlight