Ich versuche, meine Schriftart UIBarButtonItem
zu ändern. Es sieht gut aus, wenn ViewControllers geladen wird. Aber wenn ich auf den Balkenknopf tippe oder nach rechts wische, um zum vorherigen ViewController zu wechseln (aber dann zum aktuellen ViewController zurückzugelangen), wechselt die Schriftart zurück zur Systemschriftart. Hier ist, was ich in meinem AppDelegate bin Einstellung:iOS 7 UIBarButtonItem Schriftart ändert sich, wenn angeklickt
NSDictionary* barButtonItemAttributes = @{NSFontAttributeName: [UIFont fontWithName:@"SourceSansPro-Light" size:20.0f]};
[[UIBarButtonItem appearance] setTitleTextAttributes: barButtonItemAttributes forState:UIControlStateNormal];
[[UIBarButtonItem appearance] setTitleTextAttributes: barButtonItemAttributes forState:UIControlStateHighlighted];
[[UIBarButtonItem appearance] setTitleTextAttributes: barButtonItemAttributes forState:UIControlStateSelected];
[[UIBarButtonItem appearance] setTitleTextAttributes: barButtonItemAttributes forState:UIControlStateDisabled];
Und hier ist ein Beispiel für meine viewWillAppear:
- (void) viewWillAppear:(BOOL)animated {
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(doneButtonPressed)];
self.navigationItem.rightBarButtonItem.tintColor = [UIColor colorWithRed:141.0/255.0 green:209.0/255.0 blue:205.0/255.0 alpha:1.0];
}
Bin ich irgendwie die Schrift wieder zu ändern, oder bin ich zu mißbrauchen das Aussehen Proxy?
Dank. Das scheint wahr zu sein. Aber wie kann ich die Tastenfarbe pro ViewController ändern? – hodgesmr
In iOS 7 ist NSAttributedString ein Objekt der ersten Klasse und die Farbe ist daher ein Textattribut. Anstatt den Darstellungsproxy zu verwenden und einen Konflikt mit einer einzelnen 'tintColor' zu haben, machen Sie einfach die Schaltfläche und geben Sie dem Text die gewünschten Attribute, einschließlich Schriftart und Farbe. – matt
Ich habe bearbeitet, um zu veranschaulichen, was ich meine. – matt