4

我在我的 iOS 应用程序中使用属性字符串给文本一些样式:

NSDictionary *titleAttributes = @{NSFontAttributeName:              [UIFont fontWithName:@"Raleway" size:12],
                                  NSForegroundColorAttributeName:   [UIColor lightGreyTextColor]};

NSMutableAttributedString *attributedTitle = [[NSMutableAttributedString alloc] initWithString:title attributes:titleAttributes];

问题是在 iOS 6 上,文本不再垂直居中UILabel。在 iOS 7 上没问题。

我发现当我删除该NSForegroundColorAttributeName属性时,它正确居中但文本为黑色

有谁知道解决这个问题的方法?这是iOS中的错误还是我错过了什么?

4

3 回答 3

1

尝试使用UITextAttributeTextColor而不是NSForegroundColorAttributeName.

似乎是同一个问题,就像在这个问题中一样。

于 2014-03-18T20:28:20.470 回答
0

我有一个类似的问题。确保在将属性添加到标签后放置使文本居中的代码行

于 2015-05-19T23:57:08.930 回答
-1

使用此代码:

if (SYSTEM_VERSION_IS_LESS_THAN(@"7.0")) {
    [self.navigationBar setTitleVerticalPositionAdjustment:2 forBarMetrics:UIBarMetricsDefault];
}
于 2014-02-21T18:12:47.113 回答