2013-10-17 43 views
1

我有一个XIB文件,其中包含UITextView作为子视图的视图。这个textView高30px,因为它应该根据它的内容调整大小。UITextView无法通过自动布局更改大小

所以我设置文本编程,呼叫-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没有办法。

这里有什么问题?

回答

2

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

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

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

我已经报告这个错误给苹果,但我建议你做同样的。

+0

不幸的是,这不是我正在寻找的。我想根据它的内容调整textView的实际大小。我有一个看法,显示一篇文章。这应该变得越来越长。所以我不在textView中滚动,但它的超级视图 –

+0

是的,这是我的问题。我想滚动超级视图,因为在文本视图上的残疾滚动。我最终使用的解决方案是我已经启用了滚动功能,因为我已经调整了文本视图的大小。 –

相关问题