ios6 uilabel没有对齐中心文本

我正在研究一个ios应用程序最低ios 5,并且我刚刚用uilabels碰到了一个奇怪的问题。 或者我可能错过了一些明显的东西 无论如何,我所面临的问题是我有一个uilabel,它将被中心文本对齐。 所有工作正常在ios 5上,但在iOS 6上,它始终是左对齐。 我看到,做uilabel文字对齐的旧方式已被弃用,并将其设置为如此。

self.topComment.textAlignment = NSTextAlignmentCenter;

但即使这样,它仍然只是在ios 5上居中对齐,并且在ios 6上左对齐。我确实有一些代码可以调整标签中文本的字体大小,以便使其适合最小和最大尺寸。

UIFont *font = self.topComment.font;

for(int i = maxFont; i > minFont; i--)
{
    // Set the new font size.
    font = [font fontWithSize:i];
    CGSize constraintSize = CGSizeMake(self.topComment.frame.size.width, 1000);
    CGSize labelSize = [topString sizeWithFont:font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
    if(labelSize.height <= self.topComment.frame.size.height ) {
        fits = YES;
        break;
    }
    //self.topComment.text = topString;

}


self.topComment.font = font;
self.topComment.text = topString;

所以这是我对标签做的唯一的事情,但它总是左对齐在ios 6中。重要的是要注意,如果我放在一个文本和中心对齐它的uilabel,并且不使用上面的代码,那么它是集中在两个ios 5和6。


好吧,看起来打开拧紧字母间距在ios 5和6上有不同的结果。我真的不能解释为什么差异,但只是把它关闭给我所需的标签中心。 只要在这里留下这个答案,以防其他人犯同样的愚蠢错误。

例如:

    lbl.adjustsLetterSpacingToFitWidth = NO;

请注意,这在iOS 7.0中已被弃用。


对于iOS 6或更高版本:

label.textAlignment = NSTextAlignmentLeft;
链接地址: http://www.djcxy.com/p/28271.html

上一篇: ios6 uilabel not center text aligned

下一篇: Custom UILabel Text Alignment