2013-11-24 3 views
0

Я разрабатываю приложение, которое имеет UITextview, который отображает содержимое после его получения из БД. Данные извлекаются из базы данных, но высота UITextview не меняется. Я перепробовал все варианты нижеUITextview изменить размер в соответствии с содержанием

//Option1 
CGRect frame = messageOne.frame; 
frame.size.height = messageOne.textContainer.size.height; 
messageOne.frame = frame; 


//Option2 
CGRect frame = messageOne.frame; 
frame.size.height = [messageOne sizeThatFits:CGSizeMake(messageOne.frame.size.width, MAXFLOAT)].height; 
messageOne.frame = frame; 

//option3 
CGFloat fixedWidth = messageOne.frame.size.width; 
CGSize newSize = [messageOne sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)]; 
CGRect newFrame = messageOne.frame; 
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height); 
messageOne.frame = newFrame; 
[messageOne sizeToFit]; 
[messageOne layoutIfNeeded]; 
messageOne.editable = NO; 

Здесь messageOne является UITextview. Я помещаю весь этот код в viewDidLoad.

КСН версии я использую 7.

Спасибо за вашу помощь и время заранее.

ответ

0

Использование contentSize:

CGRect frame = messageOne.frame; 
frame.size.height = messageOne.contentSize.height; 
messageOne.frame = frame; 

Обратите внимание, что это должно быть названо после того, как вы добавили свой контент в TextView.

+0

Спасибо за это. Я попробовал этот фрагмент после добавления содержимого в текстовое окно. Я выполнил код messageOne = textfromDB. Тем не менее, я не вижу расширенного UITextview. Должно ли быть изменение настроек в XCode? –

+0

Код - messageOne.text = textfromDB –

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