Я работаю над ios app 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.