2015-07-09 3 views
2

Я хочу показать размер ярлыка в соответствии с текстом в нем для этого я использовал uilabel количество свойств линии.MultiLine UIlabel не отображает весь текст?

lbl.numberoflines = 0; 

но он показывает только три строки и после этого показывает .... не весь текст.

, когда я дам число строк более 3, тогда он показывает эту строку в ярлыке.

ценят за помощью

+0

set Hight of Label – sohil

ответ

4

попробовать этот

lbl.lineBreakMode = UILineBreakModeWordWrap; 

lbl.numberOfLines = 0; 

, если вы хотите вручную рассчитать высоту

lbl.numberOfLines = 0; // allows label to have as many lines as needed 
lbl.text [email protected]"xxxxxxxxxxxxxxxxxxxxxx"; 
CGSize labelSize = [ lbl.text sizeWithFont: lbl.font constrainedToSize:CGSizeMake(300, 300) lineBreakMode:NSLineBreakByWordWrapping]; 

// set the frame of labels here 

еще можно сразу поместить в атрибуте

enter image description here

swift3

lbl.lineBreakMode = .byWordWrapping 
lbl.numberOfLines = 0 

// allows label to have as many lines as needed 
lbl.text = "xxxxxxxxxxxxxxxxxxxxxx" 
var labelSize = lbl.text.size(with: lbl.font, constrainedToSize: CGSize(width: 300, height: 300), lineBreakMode: .byWordWrapping) 
// set the frame of labels here } 
+0

он отлично работает, я добавляю еще один вариант bro wait –

+0

проверить обновленный ответ bro –

0

попробовать этот метод этот

lbl.lineBreakMode = UILineBreakModeWordWrap; 
lbl.numberOfLines = 0; 
[lbl sizeTofit]; 
0

Использование. Май Помощь

-(CGSize)getLabelSize:(NSString *)text 
{ 

    UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:14.0]; 
    CGSize constraintSize = CGSizeMake(300.0f, MAXFLOAT); 
    CGSize labelSize = [text sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap]; 
    return labelSize; 

} 
0

Все ответы могут быть полезными. но использует старый подход.

Вы не можете добавить Ограничение на ваш взгляд?

Будет очень легко установить ограничение макета, а затем вы идете.

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