当前位置:  开发笔记 > 编程语言 > 正文

为什么UITextView.contentSize.height在Swift中不可编辑或scrollEnabled时不起作用?

如何解决《为什么UITextView.contentSize.height在Swift中不可编辑或scrollEnabled时不起作用?》经验,为你挑选了1个好方法。

我有一个像这样的UITextView:

var textView = UITextView(frame: CGRectMake(0,0,200,20))
textView.scrollEnabled = true
textView.editable = true
self.view.addSubview(textView)

那里没什么奇怪的

然后我想更新文本:

textView.text = "some short text"

如果我为它请求.contentSize.height我得到20哪个是正确的如果文本更长并且有更多行:

textView.text = "some longer text\n another line\n one more line"

再次获得高度我得到75的也是正确的.

但是一旦我使它不可编辑而且不可滚动它就会失败并且总是返回 20

textView.scrollEnabled = false
textView.editable = false
textView.text = "some short text"
print(textView.contentSize.height) //prints 20
textView.text = "some longer text\n another line\n one more line"
print(textView.contentSize.height) //prints 20

我有什么问题吗?



1> Jon Fir..:

如果我没错,你可以禁用滚动然后设置contentSize.height等于view.height.

在第二个我不知道它的行为的原因,但如果你修改你的代码,如:

textView.editable = true
textView.text = "some short text"
print(textView.contentSize.height) //prints 20
textView.text = "some longer text\n another line\n one more line"
print(textView.contentSize.height) //prints 20
extView.editable = false

你得到正确的内容高度.我想是这样 - 然后你将editable设置为false,你也禁用一些会改变内容大小的选项

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有