hod*_*smr 9 fonts objective-c uibarbuttonitem ios
我正在尝试更改我的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)
我是以某种方式改变字体,还是我滥用外观代理?
mat*_*att 15
问题是该tintColor设置与标题文本属性冲突.注释掉那条线,一切都会很好.
如果要使用标题文本属性,请将文本颜色合并到这些属性中:
NSDictionary* barButtonItemAttributes =
@{NSFontAttributeName:
[UIFont fontWithName:@"Georgia" size:20.0f],
NSForegroundColorAttributeName:
[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)
| 归档时间: |
|
| 查看次数: |
8917 次 |
| 最近记录: |