我正在开发一个具有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 :(得分:0)
使用contentSize:
CGRect frame = messageOne.frame;
frame.size.height = messageOne.contentSize.height;
messageOne.frame = frame;
请注意,在将内容添加到textView后,应调用此方法。