2013-10-17 78 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

是的,這是我的問題。我想滾動超級視圖,因爲在文本視圖上的殘疾滾動。我最終使用的解決方案是我已經啓用了滾動功能,因爲我已經調整了文本視圖的大小。 –

相關問題