Ответ 1
Я вижу то же самое. Вы можете обойти это программно (я делаю это в viewDidLoad):
myLabel.adjustsFontSizeToFitWidth = YES;
Недавно я обновился до Xcode 4.3 и отключил свойство автозапуска UILabels. Я перепроверял коробки в IB и перестраивал проект, но он все еще отключает текст. Какие-либо предложения? Это известная ошибка? Есть ли способ исправить это программно.
Я вижу то же самое. Вы можете обойти это программно (я делаю это в viewDidLoad):
myLabel.adjustsFontSizeToFitWidth = YES;
У меня была та же проблема. Здесь исправление, я добавил его к утилитарному методу, так как у меня в моем проекте более 100 xibs, и куча их необходима для исправления. Отлично работает.
Добавьте это в Utility.m:
// UIView+viewRecursion.h
@interface UIView (viewRecursion)
- (NSMutableArray*) allSubViews;
@end
// UIView+viewRecursion.m
@implementation UIView (viewRecursion)
- (NSMutableArray*)allSubViews
{
NSMutableArray *arr=[[NSMutableArray alloc] init];
[arr addObject:self];
for (UIView *subview in self.subviews)
{
[arr addObjectsFromArray:(NSArray*)[subview allSubViews]];
}
return arr;
}
@end
И это:
+(void)fixLabels:(UIView *)theView{
for(UIView *v in [theView allSubViews])
{
if([v isKindOfClass:[UILabel class]])
{
if( !((UILabel*)v).adjustsFontSizeToFitWidth ){
((UILabel*)v).adjustsFontSizeToFitWidth=YES;
// NSLog(@"fixed %@", theView);
}
}
}
}
И затем вызовите fixLabels из viewDidLoad для любого представления, которое имеет UILabels, которые не сжимаются автоматически:
[Utility fixLabels:self.view];
У меня есть совершенно противоположная проблема! Я обновился до Xcode 4.3, и теперь он автоматически сжимает текст в ячейках tableview, когда я хочу, чтобы они усекали их с помощью эллипсов. Я прошел через раскадровку и изменил все варианты, которые могут иметь отношение к этому, но он отказывается делать то, что я хочу. Так расстраивает.
Под редакцией...
Попробуйте и заново создайте то, что Xcode делал со мной, поскольку оно обратное тому, что происходит с вами. Выделите ячейку прототипа для вашего стола в раскадровке и нажмите слова "Название" и "Субтитры". Вы можете найти свойство AutoShinking внутри инспектора атрибутов, и я полагаю, что вы можете исправить свою проблему, сняв флажок и перестроя свое приложение. Очень странно, как это может привести к обновлению Xcode. Это также привело к тому, что мое приложение немного странно (то есть неожиданно сбой при работе в симуляторе), но несколько чистых и перестроек решили это. Надеюсь, вы сможете это исправить, поскольку я знаю, что это было так же неприятно для меня!
Он просто сделал то же самое для меня. Все автозапуска отключены. Отбрасывание размера шрифта и автоматическое сглаживание не работало.
Мне пришлось исправить это программно, как предположил JLundell.
Xcode 4.3 не выполняет настройки интерфейса Builder для настройки свойстваFontSizeToFitWidth.
Вы можете исправить это, установив значение свойства программно, как предположил JLundell.
myLabel.adjustsFontSizeToFitWidth = YES;
Он был исправлен в 4.3.1