2013-11-24 156 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中。

我使用的iOS版本是7.

感谢您的帮助和时间提前。

回答

0

使用contentSize:

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

请注意,您添加内容到TextView的在此之后应该叫。

+0

感谢您的支持。在textview中添加内容后,我尝试了这个片段。我执行了代码messageOne = textfromDB。不过,我无法看到扩展的UITextview。 XCode中是否需要进行任何设置更改? –

+0

代码是messageOne.text = textfromDB –

相关问题