Comment définir UISegmentedControl Teinte de Couleur pour chaque segment

De commencer à apprendre Swift et suis en train d'essayer de convertir cette ObjectiveC code:

[[mySegmentedControl.subviews objectAtIndex:0] setTintColor:[UIColor blueColor]]

Ce définit correctement la teinte de la couleur du premier segment.


C'est le plus proche je suis arrivé à obtenir rapidement une version du même code:

mySegmentedControl?.subviews[0].tintColor = UIColor.blueColor()

L'erreur que j'obtiens est '@Ivalue $T9' is not identical to 'UIColor!!'


Je ne comprends pas ce que cette erreur signifie. Quand je regarde les .tintColor méthode de la liste UIColor!? et je n'ai pas trouvé ce que l' !? ensemble, c'est rapide encore.

  • Si mySegmentedControl un IBOutlet? Si elle l'est, de la déclarer @IBOutlet var mySegmentedControl = UISegmentedControl! Ensuite, vous n'avez pas besoin ? de l'opérateur. Qui ne permettent pas de résoudre l'ensemble du problème, mais c'est une chose. Si les sous-vues[0] peut retourner nil, alors c'est une option, donc peut-être mettre un ! après [0].