【问题标题】:UITextView Maximum HeightUITextView 最大高度
【发布时间】:2013-12-03 23:46:50
【问题描述】:

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

UITextView 有最大高度吗?

编辑

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

我不确定这个数字有什么特别之处,但是当我将框架的高度设置为大于该数字时,它就会停止工作。

【问题讨论】:

标签: ios uitextview


【解决方案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,您都应该考虑平铺任何明显大于屏幕尺寸的内容。

似乎是内存问题而不是特定高度

【讨论】:

  • 听起来可能。那么,如何在UITextView 中平铺我的内容?
  • 这个报价是在 UIView 上的,它是 UITextView 的超级视图......所以 UIView 中的平铺可以用 UITableView 进行......但我不知道你的情况你能做什么
【解决方案2】:
- (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;
}

【讨论】:

  • 我已经这样做了。问题是,如果newsize.height 大于 8192.0,它就会停止工作。
  • 在设置减小尺寸和调整代码,上面的代码动态增加高度
【解决方案3】:

使用下面的代码

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);

【讨论】:

  • 我已经这样做了。问题是,如果titlesize.height 大于 8192.0,它就会停止工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-23
  • 2014-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多