2015-10-16 1 views
1

При использовании масштабирования шрифтов на многострочный UILabel, характеристической размер содержания больше, как это должно бытьUILabel вертикального размера больше, используя масштабирование шрифта, дополнительное заполнение вставленного

Как получить более подходящий размер?

enter image description here

Settings for the label

+0

В чем заключается ваш результат? –

+0

удалите верхнюю/нижнюю прокладку на второй этикетке и получите размер, который лучше подходит для контента –

ответ

0
@implementation UILabel (dynamicSizeWidth) 

- (void)resizeToStretch { 
    float width = [self expectedWidth]; 
    CGRect newFrame = [self frame]; 
    newFrame.size.width = width; 
    [self setFrame:newFrame]; 
} 

- (float)expectedWidth{ 
    [self setNumberOfLines:1]; 

    CGSize maximumLabelSize = CGSizeMake(CGRectGetWidth(self.bounds), CGFLOAT_MAX); 

    CGSize expectedLabelSize = [[self text] sizeWithFont:[self font] 
              constrainedToSize:maximumLabelSize 
              lineBreakMode:[self lineBreakMode]]; 
    return expectedLabelSize.width; 
} 

@end 

За iOS6 вы можете использовать Autolayout, установить количество строк до 0, а структура будет изменять размер этикетки соответственно, чтобы соответствовать вашему тексту.

Смежные вопросы