如何使用自动换行获取UITextView的内容高度

时间:2016-03-23 09:29:43

标签: ios swift height uitextview

我试图获取UITextView的内容高度来计算它的底部位置(y位置+高度)。

我可以很好地获得y位置
travelDescriptionTextView.frame.origin.y

并需要确定高度。它通过互联网表示要获得内容高度:

let contentSize = self.travelDescriptionTextView.sizeThatFits(self.travelDescriptionTextView.bounds.size)
let height = contentSize.height

但是当通过自动换行调整高度(扩展)高度时,这种技术不起作用,也就是说,如果句子宽于文本框的宽度,文本框会自动创建新行。如果没有自动换行,上述获取内容高度的技术仅获得正确的高度,否则高度不包括额外的自动换行线,导致内容高度短于实际内容高度。

那么如何获取包含自动换行高度的UITextView的内容高度?

2 个答案:

答案 0 :(得分:0)

尝试如下,

let textViewComputedHeight = textView.contentSize.height -  textView.contentInset.top - textView.contentInset.bottom

答案 1 :(得分:0)

感谢RDC的链接。工作解决方案是:

            self.travelDescriptionTextView.sizeToFit()
            self.travelDescriptionTextView.layoutIfNeeded()
            let contentSize = self.travelDescriptionTextView.sizeThatFits(self.travelDescriptionTextView.bounds.size)
            let textViewHeight = contentSize.height