我試圖更改我的UIBarButtonItem
字體。 ViewControllers加載時看起來不錯。但是,如果我點擊條形按鈕,或者向右滑動就好像移動到前一個ViewController(但是然後拉回到當前的那個),字體將變回系統字體。這是我在我的AppDelegate我設置:iOS 7 UIBarButtonItem字體在點擊時更改
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];
這是我的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];
}
難道我莫名其妙地改變字體回,還是我濫用外觀代理?
感謝。這似乎是真的。但是我怎樣才能改變每個ViewController的基礎上的按鈕顏色? – hodgesmr
在iOS 7中,NSAttributedString是第一類對象,因此顏色現在是文本屬性。因此,不要使用外觀代理,並與個人'tintColor'發生衝突,只需製作按鈕併爲其文本提供所需的屬性,包括字體和顏色。 – matt
我編輯過來說明我的意思。 – matt