我在更改导航控制器中标题的字体时遇到问题。
这是我的代码(来自我的 UINavigationController 子类):
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSDictionary * attributes = @{UITextAttributeTextColor :[UIColor whiteColor],
UITextAttributeFont :[UIFont fontWithName:@"Blanch" size:50],
};
self.navigationBar.titleTextAttributes = attributes;
CGFloat verticalOffset = -8;
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:verticalOffset forBarMetrics:UIBarMetricsDefault];
UIImage *image = [UIImage imageNamed:NAVBAR_IMAGE];
[self.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}
这是它的样子:
如果我注释掉设置字体的行,这就是它的样子(正如垂直偏移所预期的那样):
存在垂直偏移的唯一原因是我认为它可能已经解决了问题。我不需要它,它现在已被注释掉,但它不会改变输出 - 它看起来仍然相同,只是在 NavBar 上更低。
任何想法如何解决这个问题?我认为可能是自定义字体有很多行距,我想这可能是问题所在。
我一直在尝试找到一种方法来更改标题的原点/高度/基线对齐方式,但看不到任何方法。知道如何解决这个问题吗?