Добавление нескольких строк в UILabel, который обновляется UITextField
Поэтому я делаю приложение, в котором пользователь преобразует данные из UITextField в UILabel. Однако при обновлении большого объема текста вместо переполнения в другую строку, он просто отображает "...", когда слишком много слов. Я попытался изменить количество строк в UILabel, даже изменив его на "0", что должно означать, что отображаемый текст должен соответствовать словам в UITextField, но это не так. Следующий код, который у меня есть для UITextField для UILabel:
- (IBAction)add:(id)sender {
NSString *input = text1.text;
label1.text = input;
NSString *Input = text2.text;
label2.text = Input;
Я новичок в разработке, я проверил документацию и ничего не нашел. Я заметил, что кто-то говорит, что я должен использовать UITextField, однако это не соответствует моим потребностям относительно того, что мне требуется для отображения UILabel.
2 ответа
Возможно, попробуйте установить для свойства lineBreakMode объекта UILabel значение NSLineBreakByWordWrapping, поскольку значением по умолчанию для этого свойства на самом деле является NSLineBreakByTruncatingTail, которое может объяснить "...", которое вы испытываете, когда в метке слишком много текста. Также убедитесь, что свойство AdjusttsFontSizeToFitWidth имеет значение NO.
textLabel.adjustsFontSizeToFitWidth = NO; // this is default value
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;
Опции для UITextView, которые вы, возможно, не видели
UITextView * _descriptionText = [UITextView new];
[_descriptionText setTextAlignment:NSTextAlignmentLeft];
[[_descriptionText textContainer] setMaximumNumberOfLines:11];
[[_descriptionText textContainer] setLineBreakMode:NSLineBreakByTruncatingTail];
Не уверен, поможет ли это, но в сочетании с ответом Bamsworlds это должно быть сделано