2016-03-01 3 views
0

Я пытаюсь использовать записи блога с веб-сайта и отображать их в приложении для iPhone. Заголовок и субтитры могут быть многострочными.Создание многострочного UILabel

Не могу понять, как изменить высоту меток на основе содержимого.

Я могу добиться этого с помощью UITextView, но верно ли это использование этого объекта?

Спасибо! ~ M

+0

Предпочтение было бы более предпочтительным. Вы используете tableView? Если да, используете ли вы пользовательский TableViewCell Nib, или просто используете ячейки по умолчанию? – ZGski

+0

Нет ... нет tableView ... Хотя я вижу, что многие используют этот подход, возможно, мне следует пересмотреть, используя простой вид. Спасибо! –

ответ

2

Определенно вы можете динамически изменять высоту UILabel на основе текста. Просто убедитесь, что UILabel имеет numberOfLines = 0 и следовать ответ из этого примера: ios dynamic sizing labels

Для полного ответа, вот код, который вы можете сделать это с ...

Вычислить высоту вашего текст, который будет на вашем ярлыке, а затем установите рамку вашей метки на основе этого размера:

//Calculate the expected size based on the font and linebreak mode of your label 
CGSize maximumLabelSize = CGSizeMake(296,9999); 

CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font 
        constrainedToSize:maximumLabelSize 
        lineBreakMode:yourLabel.lineBreakMode]; 

//adjust the label the the new height. 
CGRect newFrame = yourLabel.frame; 
newFrame.size.height = expectedLabelSize.height; 
yourLabel.frame = newFrame; 
Смежные вопросы