1

我有一个XIB包含带有子视图的UITextView视图的文件。这个 textView 高 30px,因为它应该根据它的内容调整大小。

所以我以编程方式设置文本,调用-sizeToFit并重新配置 textView 及其父视图的框架:

[_textView setText:[contents objectForKey:@"body"]];
[_textView sizeToFit];

CGSize txtSize = _textView.contentSize;
txtSize.height = _textView.frame.size.height;
_textView.contentSite = txtSize;

CGRect superFrame = _textView.superView.frame;
superFrame += _textView.contentSize.height;
_textView.superView.frame = superFrame;

superView 实际上确实可以正确调整大小。此外,在记录文本视图框架和内容大小时,在控制台上它似乎没问题(大约 1200 像素高)。

但是textView 在屏幕上仍然只有 30px 高打电话-setNeedsLayout也没有奏效。

这里可能是什么问题?

4

1 回答 1

2

这是我几天前遇到的一个错误。如果 UITextView 的滚动被禁用,无论高度如何,似乎 UITextView 都会切断一部分文本。

在某些情况下有效的解决方案是:

[_textView setScrollEnabled:YES];
[_textView setText:text];
[_textView setScrollEnabled:NO];

我已经向 Apple 报告了这个错误,但我建议你也这样做。

于 2013-10-17T13:28:21.460 回答