我正在尝试更改我的UIBarButtonItem字体.ViewControllers加载时效果很好.但是,如果我点击条形按钮,或向右滑动就像移动到上一个ViewController(但然后回到当前的ViewController),字体会变回系统字体.这是我在AppDelegate中设置的内容:
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];
Run Code Online (Sandbox Code Playgroud)
这是我的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];
}
Run Code Online (Sandbox Code Playgroud)
我是以某种方式改变字体,还是我滥用外观代理?