我如何(以编程方式)在Swift中将UITextView的高度设置为其内容大小?

时间:2015-03-13 20:22:53

标签: swift xcode6 uitextview

我有UITextView名为recipeDesc。我想在我的应用程序中有一个选项来动态调整UITextView的高度以适应UITextView内的内容(文本)(所以我需要知道如何以编程方式进行)。我找到了Objective-C的一些答案,但我对它不是很熟悉,所以我不知道如何在Swift中实现它。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:16)

您可以通过以下方式获得UITextView的理想内容尺寸:

let contentSize = textView.sizeThatFits(textView.bounds.size)

所以在那之后,你可以用那个高度调整它的框架:

var frame = textView.frame
frame.size.height = contentSize.height
textView.frame = frame

(我最初使用的是textView.contentSize.height,但是当视图尚未渲染时仍然无效。例如在viewDidLoad

如果使用自动布局,则规则略有不同。如果你这样做,请更新你的问题。