UITextview根据内容调整大小

时间:2013-11-24 01:40:28

标签: ios 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。

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

1 个答案:

答案 0 :(得分:0)

使用contentSize:

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

请注意,在将内容添加到textView后,应调用此方法。