Мне нужно создать UITextView программно, но я столкнулся с некоторыми проблемами с настройкой его размера.Как изменить размер UITextView в соответствии с содержимым с фиксированной шириной
Пусть у меня есть предложение, с несколькими линиями:
S = @ "Hello World \ nHello Мир \ nHello Мир \ п";
Теперь я хочу выяснить, какую высоту мне нужно отобразить, и соответственно установить высоту моего UITextView (ширина должна быть исправлена). Ниже мой код:
CGSize size = [text sizeWithFont:_FONT_MYRIADPRO(20.0f) constrainedToSize:CGSizeMake(300, 1000)];
_textBox.text = text;
_textBox.frame = CGRectMake(10, 10, 300, size.height);
_textBox.font = _FONT_MYRIADPRO(20.0f);
_textBox.textColor = _COLOR_BLACK;
_textBox.backgroundColor = _COLOR_BLUE_DARK;
self.frame = CGRectMake(0, 0, 320, _textBox.frame.size.height + 2 * 10);
[self addSubview:_textBox];
Однако результат, как:
Я пробовал много других способов, как вызов
[_textBox sizeToFit]
который также терпит неудачу, потому что я хотите исправить ширину.
Я также попытался
NSAttributedString *titleText = [[NSAttributedString alloc] initWithString:text attributes:@{NSFontAttributeName: _FONT_MYRIADPRO(20.0f)}];
CGRect bound = [titleText boundingRectWithSize:CGSizeMake(300, 1000) options:NSStringDrawingUsesLineFragmentOrigin context:nil];
_textBox.text = text;
_textBox.frame = CGRectMake(10, 10, 300, bound.size.height);
также терпит неудачу, и результат будет таким же, как на картинке выше.
Может ли кто-нибудь мне помочь?
теперь вы хотите только зафиксировать ширину в зависимости от длины строки? – chancyWu
Вы пытаетесь исправить ширину после использования sizeToFit? – chancyWu
@Chancy Я хочу загрузить текст динамически, поддерживая ширину UITextView. Таким образом, мне нужно настроить высоту в соответствии с загружаемым текстом – HanXu