2013-05-31 2 views
2

Я хочу спросить, как изменить размер UITextView в соответствии с текстом, который будет отображаться на экране.Как изменить размер UITextView в соответствии с?

Например

enter image description here

Изменить размерUITextView к

enter image description here

Может кто-нибудь помочь мне или дать мне некоторые советуют. Благодаря

Советы:

Я попытался sizeWithFont:constrainedToSize:, не работает

+0

Можете ли вы показать код, который вы используете сейчас? – Marcel

+0

Я думаю, что это невозможно, мы устанавливаем динамическую высоту для UITextView, а не заданную ширину – NANNAV

+0

@NANNAV Yah, вы правы. Поэтому я рассматриваю вопрос, есть ли способ вычислить размер программно. Я думаю, если мы знаем расстояние между текстом к границе зрения, ее можно получить с помощью sizeWithFont: constrainedToSize: lineBreakMode. –

ответ

1

Если вам нужно знать CGSize, который берется вашим NSString, если отображается в одной строке, используйте CGSize sz = [textView.text sizeWithFont:_textView.font], а затем отрегулируйте свой фрейм с учетом этого значения.

Если вам нужно знать size занятую текстом, если наносятся на нескольких строках, окружив его, если текст достигает заданную ширину, используйте sizeWithFont:constrainedToSize:lineBreakMode: вместо этого, и т.д.

+0

sizeWithFont: constrainedToSize: lineBreakMode works.But есть проблема в том, как получить свойство size.The размер textView больше, чем текст на самом деле use.Then он вернет неправильный результат. –

0

У меня была такая же проблема, некоторое время назад (но с высотой от UITextView), и я создал CGRect с размером которые соответствуют бы contentSize из UITextView, попробуйте код ниже

// assuming that you have a UITextView named textView with some text on it 
CGRect textFrame = self.textView.frame; 
textFrame.size.width = self.textView.contentSize.width; 
self.textView.frame = textFrame; 
+0

Это не работает. Он вернет ширину первого изображения. –

0

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

CGRect frame = _textView.frame; 
frame.size.height = _textView.contentSize.height; 
frame.size.width = _textView.contentSize.width; 
_textView.frame = frame; 

счастливым кодирования ....

+0

Это не работает. Он вернет ширину в качестве первого изображения. –

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