为什么自定义字体移动文本(更改垂直对齐)?

时间:2013-03-18 14:38:07

标签: ios objective-c ios5 uilabel

我有这个代码,用一些文本和默认字体创建简单的UILabel

        self.reviewCountLabel = [[UILabel alloc] initWithFrame:someFrame];
        self.reviewCountLabel.text = @"1231 REVIEWS";
        self.reviewCountLabel.textAlignment = NSTextAlignmentRight;
        self.reviewCountLabel.backgroundColor = [UIColor lightGrayColor];
//        self.reviewCountLabel.font = [UIFont fontWithName:kSTGFontAvantGardeBold size:18];
        [self addSubview:self.reviewCountLabel];

在屏幕上我明白了:

enter image description here

但如果我取消注释添加自定义字体的代码,我会得到这个:

enter image description here

有人可以解释为什么我在这里垂直对齐吗? (或帮助解决它)

1 个答案:

答案 0 :(得分:1)

它可能没有与顶部对齐,但新字体的几何(上升,基线等)与系统字体完全不同。在这方面,并非所有字体都像其他字体一样干净。

您可以使用Apple's Font Tool Suite调整几何体,特别是ftxdumperfuser命令。 Here is an older SO post详细说明了如何使用该工具解决问题。