UITextView最大高度

时间:2013-12-03 23:46:51

标签: ios uitextview

我在我的应用中使用UITextView,然后根据文字大小设置框架。但是,如果UITextView.size.height大于8192.0,文本就会消失。

UITextView是否有最大高度?

修改

到目前为止,我很欣赏所有答案,但我已经能够毫无问题地设置框架了。问题是,如果frame.size.height设置为大于8192.0,则文本完全消失。

我不确定该号码有什么特别之处,但是当我设置高度大于该号码的帧时,它会停止工作。

3 个答案:

答案 0 :(得分:1)

查看文档 https://developer.apple.com/library/IOs/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html

  

注意:在iOS 2.x中,UIView对象的最大大小为1024 x 1024点。在iOS 3.0及更高版本中,视图不再受限于此最大大小,但仍受其使用的内存量的限制。保持视图尺寸尽可能小是符合您的最佳利益的。无论运行哪个版本的iOS,您都应该考虑平铺任何明显大于屏幕尺寸的内容。

它认为这是一个记忆问题而不是特定的高度

答案 1 :(得分:-1)

- (void)textViewDidChange:(UITextView *)textView

{

    CGFloat fixedWidth = textView.frame.size.width;

    CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];

    CGRect newFrame = textView.frame;

    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);

    textView.frame = newFrame;
}

答案 2 :(得分:-1)

使用以下代码

CGSize titlesize = [TxtValue.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:15.0f] constrainedToSize:CGSizeMake(UITextView.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];

UITextView.frame=CGRectMake(TxtValue.frame.origin.x, TxtValue.frame.origin.y, TxtValue.frame.size.width, titlesize.height);