我在swift
應用程序中從頭開始編寫UITextView
。 我把textView
上view
這樣的:光標在UITextView中的奇怪定位
它是正確的鍵盤上方。
的textView
具有附接到view
約束:leading
,bottom
,top
和trailing
,所有等於= 4
。
的view
具有以下限制:
trailing
,leading
,bottom
,top
和height
Height
是在我的代碼的出口。我檢查有多少行是在textView
和基於我正在修改height
:
func textViewDidChange(textView: UITextView) { //Handle the text changes here
switch(textView.numberOfLines()) {
case 1:
heightConstraint.constant = 38
break
case 2:
heightConstraint.constant = 50
break
case 3:
heightConstraint.constant = 70
break
case 4:
heightConstraint.constant = 90
break
default:
heightConstraint.constant = 90
break
}
}
以上是由該擴展計算的行數:
extension UITextView{
func numberOfLines() -> Int{
if let fontUnwrapped = self.font{
return Int(self.contentSize.height/fontUnwrapped.lineHeight)
}
return 0
}
}
的初始高度textView
是38
。 textView
的初始字體大小爲15
。
現在,它很好用,當用戶開始輸入新行時,但textView
沒有設置在視圖的全部範圍內。我的意思是,事實上,它看起來像這樣:
,它應該是這樣的:
爲什麼沒有被添加這種額外的空白區域,如何能我擺脫了它?
目前當新行出現時有這個空格,但當用戶滾動textView
來居中文本並擺脫空白 - 它永遠消失了,用戶不能再次向上滾動,所以白線在那兒。所以對我來說,它看起來像刷新內容的一些問題,但也許你知道更好 - 你能給我一些提示嗎?
我不知道到底,我的猜測改變** ScrollingEnabled爲NO **可以工作.. – Gokul
嗯@Gokul也許會有所幫助,但我需要的'scrollingEnabled'到TRUE;因爲如果有超過4行的文本,然後'textView'不再增長,用戶可以滾動它的內容... – user3766930
你建立了聊天應用嗎? –