Objective c 导航栏标题中的字体截断

Objective c 导航栏标题中的字体截断,objective-c,ios,ios5,Objective C,Ios,Ios5,我正在开发一个使用自定义字体的应用程序,但我遇到了一些不寻常的剪辑。我认为问题在于字体本身,但我没有办法解决这个问题,所以我需要想出一个解决方案,在应用程序中解决这个问题 我正在使用导航栏标题的字体,下面是发生的情况: 您可以看到字体与基线的距离太高,这就是剪切发生的原因 我已经找到了一个几乎合适的解决方案,将标准导航栏标题替换为UILabel,并将其插入导航栏的标题视图中 UILabel *navTitle = [[UILabel alloc] init]; navTitle

我正在开发一个使用自定义字体的应用程序,但我遇到了一些不寻常的剪辑。我认为问题在于字体本身,但我没有办法解决这个问题,所以我需要想出一个解决方案,在应用程序中解决这个问题

我正在使用导航栏标题的字体,下面是发生的情况:

您可以看到字体与基线的距离太高,这就是剪切发生的原因

我已经找到了一个几乎合适的解决方案,将标准导航栏标题替换为UILabel,并将其插入导航栏的
标题视图中

    UILabel *navTitle = [[UILabel alloc] init];
    navTitle.frame = CGRectMake(0,0,190,40);
    navTitle.text = @"My Title Text";
    navTitle.font = [UIFont fontWithName:AGENDA_TYPE_FONT size:17];
    navTitle.backgroundColor = [UIColor clearColor];
    navTitle.textColor = [UIColor colorWithHue:0.356 saturation:0.457 brightness:0.288 alpha:1.00];
    navTitle.shadowColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.50];
    navTitle.shadowOffset = CGSizeMake(0, 1);
    navTitle.textAlignment = UITextAlignmentCenter;

    // Set label as titleView
    self.navigationItem.titleView = navTitle;

    // Shift the title down a bit...
    [self.navigationController.navigationBar setTitleVerticalPositionAdjustment:9 forBarMetrics:UIBarMetricsDefault];
这是因为我制作了两倍于其应有高度的标签,使文本完全可见

但问题是它现在太低了(在导航栏之外)。如下所示

我想不出一种方法来解决这个问题,甚至想不出另一种方法来解决这个问题。我尝试过覆盖框架原点高度,但这没有任何效果


有人能在这方面提供帮助吗?

您是故事板吗?您可以调整导航标题的基线对齐方式

除此之外,您是否尝试过安装字体并通过故事板进行选择

如果这不起作用,我想你的字体可能会有问题-你可以尝试设置一个带有div的快速html页面,看看这是否是字体的问题


此外,您还可以在此处使用以下内容:

创建一个与标签宽度相同但不高于UINavigationBar(46像素?)的容器UIView-假设它有36个点高。将此容器视图上的“clipsToBounds”设置为“是”。现在将标签添加到此容器视图,并将容器视图设置为标题视图。

这肯定是字体的问题-默认情况下,字体几乎是上标的。我只需要找到一个解决方法,因为我无法更改字体。我正在编写故事板但是更改基线和其他间距属性似乎没有任何效果。看一看,你是在正确的轨道上对框架进行了黑客攻击。我担心的是,框架重叠会导致标题拦截用户与主视图中元素的交互出现问题?这不应该是个问题,因为标题栏会通常不会默认设置交互。不过我以前也做过类似的黑客,而且总是有办法解决的!请注意,简单的解决方案总是最好的。