gpt4 book ai didi

objective-c - ios 6 uilabel 文本不居中对齐

转载 作者:技术小花猫 更新时间:2023-10-29 10:41:48 25 4
gpt4 key购买 nike

我正在开发最低版本为 ios 5 的 ios 应用程序,我刚刚遇到了一个关于 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 中已弃用。

关于objective-c - ios 6 uilabel 文本不居中对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12932580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com