UISegmentedControl Couleur dans un UIToolbar

Ma question tourne autour de la distinction d'un UISegmentedController sur un UINavigationBar vs un UIToolbar. Si je laisse tomber un UISegmentedControl dans une barre de navigation comme suit:

navigationBar.barStyle = UIBarStyleBlackTranslucent;

tout est bien. Le UISegmentedControl identifie l'option sélectionnée est un peu plus sombre noir. Mais, si je laisse tomber un UISegmentedControl sur un UIToolbar, il ne ramasse pas de la couleur ou de transparence de la barre d'outils. Si je régler manuellement la nuance de couleur la UISegmentedControl ne fait pas la distinction entre sélectionnés et non sélectionnés plus.

Certes, on doit conclure de la UISegmentedControl dans un UIBarButtonItem avant de tomber sur un UIToolbar. Je me demande si c'est une partie de la raison pour laquelle le UISegmentedControl semble incorrect (en bleu sur transparent fond noir).

toolbar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithCustomView:segmentedControl]; 
NSArray *toolbarItems = [[NSArray alloc] initWithObjects:item,nil];
toolbar.items = toolbarItems;

Accordée, mon code n'est pas EXACTEMENT comme écrit depuis que je suis en utilisant la navigation interne et de contrôleur de la barre d'outils, mais la logique est la même. Je ne suis pas sûr de la façon de faire de la UISegmentedControl sur le UIToolbar ont un noir translucide style - le maintien d'une distinction évidente entre sélectionnés et non sélectionnés segments.

Cela aide: 'segmentedController.nuance de couleur = [UIColor darkGrayColor]; " mais il crée un codée en dur de dépendance que je préfère ne pas l'introduire. Par exemple, ce qui rend un peu plus compliqué pour permettre à l'utilisateur de sélection de couleurs.
Avez-vous le comprendre à la fin?
Jusqu'à ce que Apple met en œuvre UINavigation coloriage logique dans le UIToolbar pour la UISegmentedControl, j'ai été relégué à l'utilisation de la nuance de couleur de la propriété.

OriginalL'auteur Luther Baker | 2010-01-01