![]() |
1
15
首先,确保您的类采用UITextViewDelegate协议,以便在文本发生如下更改时通知您:
接下来,在类中的某个位置定义此变量,以便跟踪约束中的高度:
接下来添加以下约束并将其激活:
(如果在viewDidLoad中不执行此操作,则需要将textHeightConstraint设置为可选) 下一步订阅委托(如果尚未完成):
添加此函数可重新计算高度约束:
接下来,在创建约束后添加对该函数的调用,以设置初始大小:
最后,添加此方法以在文本更改时调整高度:
为了避免混淆,这里有一个UIViewController子类中的最小示例:
|
![]() |
2
6
在实现了从“真理拥护者”中选择答案的解决方案后,我想知道如何消除由于高度约束的改变而带来的奇怪的文本底部偏移。 一个简单的解决方案是在初始化开始时设置此选项:
最后,如果需要textview在特定高度后停止生长,可以将“adjustTextViewHeight”功能更改为:
希望这有帮助:) |
![]() |
3
3
有一个聪明的答案 here 在objective-c中,您可以在textView中检测换行符,并适当调整textView的帧。以下是swift版本:
确保textView的视图控制器采用
演示
在这里,textView变小了,但它的增长取决于您的限制。
|