【问题标题】:Issue with UINavigationBar title alignmentUINavigationBar 标题对齐问题
【发布时间】:2013-06-26 09:30:57
【问题描述】:

我在更改导航控制器中标题的字体时遇到问题。

这是我的代码(来自我的 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 上看起来仍然相同。

任何想法如何解决这个问题?我认为可能是自定义字体有很多行距 我想这可能是问题所在。

我一直在尝试找到一种方法来更改标题的原点/高度/基线对齐方式,但看不到任何方法来执行这些操作。 知道如何解决这个问题吗?

【问题讨论】:

标签: iphone ios uinavigationcontroller uinavigationbar


【解决方案1】:

创建一个容器UIView,其宽度与您的标签相同,高度为UINavigationBar(大约46 像素?)。将此容器视图上的 clipsToBounds 设置为 YES。现在将你的标签添加到这个容器视图中,并使容器视图成为 titleView。

【讨论】:

    【解决方案2】:

    为ios5设置导航栏图片

    if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
        [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"YOUR_NAVIGATION_BAR_IMAGE"] forBarMetrics:UIBarMetricsDefault];
    }
    

    为ios6设置导航栏图片

    if([[UINavigationBar appearance] respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
        [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"YOUR_NAVIGATION_BAR_IMAGE"] forBarMetrics:UIBarMetricsDefault];
    

    在导航栏中心的中心创建标签之后,使用您的标题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-29
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多