2015-07-19 68 views
0

我的屏幕底部有一個textView,它是containerView的子視圖。這是聊天應用程序的文本輸入部分。我想知道如何增加textView的容器視圖的大小隨着文本視圖大小的增加。我正在使用自動佈局。我已經使用下面的textView委託方法來調整textView的大小,它似乎工作正常。但無論我嘗試什麼,容器視圖都不會改變大小。謝謝。如何隨着textView的高度增加動態地改變textView的超級視圖高度

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool { 
    messageTextView.frame.size.height = messageTextView.contentSize.height 
    return true 
} 
+0

嘗試messageTextView.sizeToFit() –

+0

嗨。謝謝。我在上面的方法中嘗試了這一點,但它沒有改變任何東西。 – alionthego

+0

當然,嘗試添加messageTextView.layoutIfNeeded()後sizeToFit() –

回答

0

我必須爲我的作品一樣FUNC:

func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool { 

    var height = self.noteValueLabel!.contentSize; 
    textView.sizeToFit(); 

     super.frame.size.height+=textView.frame.maxY - super.frame.height + 3.0; 
    } 

它爲我工作,當noteValueLabel是UITextView的 和super.frame.size是你messageTextView

+0

我剛試過這個,它適用於超視圖。大小似乎如預期的那樣增加。但現在我的textView沒有增加。我添加了上面的代碼。 – alionthego

+0

,這是行不通的。 textView大小保持不變。我想知道這是否是我在故事板上的限制。目前我的textview的高度是> = 50.但它仍然在50. – alionthego

+0

我想這是約束,我沒有使用它們。不使用故事板它只是讓一切都變得複雜得多 無論如何,無法幫助的比我想象的更多,抱歉(: –

1

好的。我通過不把textView放在另一個視圖中解決了這個問題。我仍然有兩個觀點在同一個位置,但他們都只是主視圖的子視圖。沒有一個在另一個裏面。然後通過textView的contentSize.height更改每個視圖的高度,這很好。