我有一个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实际上正确调整大小。此外,在记录文本视图框架和内容大小时,在控制台上它似乎没问题(约1200px高)。
但textView 仍然只是屏幕上的30px高。同时调用-setNeedsLayout
并不能解决问题。
这可能是什么问题?
答案 0 :(得分:2)
这是我几天前遇到的一个错误。看来如果UYextView的滚动被禁用,它将切断文本的一部分,无论高度如何。
在某些情况下有效的解决方案是:
[_textView setScrollEnabled:YES];
[_textView setText:text];
[_textView setScrollEnabled:NO];
我已向Apple报告此错误,但我建议您也这样做。