UISegmentedControl Farbe in einer UIToolbar

Meine Frage dreht sich um die Unterscheidung eines UISegmentedController auf eine UINavigationBar vs ein UIToolbar. Wenn ich drop ein UISegmentedControl in eine Navigationsleiste wie folgt:

navigationBar.barStyle = UIBarStyleBlackTranslucent;

alles ist gut. Die UISegmentedControl identifiziert die ausgewählte option mit einem etwas dunkleren schwarz. Aber, wenn ich drop ein UISegmentedControl auf eine UIToolbar, es nicht abholen die Farbe oder Transluzenz aus der Symbolleiste. Wenn ich manuell die tintColor die UISegmentedControl nicht unterscheidet zwischen ausgewählten und nicht ausgewählten mehr.

Zugegeben, man muss wickeln Sie die UISegmentedControl in ein UIBarButtonItem vor dem ablegen auf einer UIToolbar. Ich Frage mich ob, dass ist Teil der Grund, die UISegmentedControl nicht richtig aussieht (blau auf einem durchscheinenden hintergrund (schwarz).

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

Zugegeben, mein code ist nicht GENAU so geschrieben, da ich die interne navigation und Steuerung Symbolleiste, aber die Allgemeine Logik ist die gleiche. Ich bin mir nicht sicher, wie man die UISegmentedControl auf die UIToolbar schwarz durchscheinend Stil - Pflege eine offensichtliche Unterscheidung zwischen ausgewählten und nicht ausgewählten Segmente.

  • Das hilft: 'segmentedController.tintColor = [UIColor darkGrayColor];' aber es schafft eine hartcodierte Abhängigkeit, dass würde ich mir eher nicht vorstellen. Zum Beispiel, machen es etwas komplizierter, um Benutzer zu erlauben die Auswahl von Farbschemata.
  • Haben Sie es herausfinden, in das Ende?
  • Bis Apple implementiert UINavigation Färbung Logik in die UIToolbar für die UISegmentedControl, ich habe die absteiger der tintColor-Eigenschaft.
InformationsquelleAutor Luther Baker | 2010-01-01
Schreibe einen Kommentar