ios - 设置文本后使用自动布局获取 UITextView 动态高度

标签 ios objective-c autolayout uitextview

我有一个 UITextView 不能滚动,由界面生成器设置自动布局,文本动态增加或减少没有问题,但我想知道设置文本后新的 UITextView 高度是多少,我正在尝试这样做:

NSLog(@"text before: %.2f",self.myText.frame.size.height);
[self.myText setText:self.string];
NSLog(@"text after: %.2f",self.myText.frame.size.height);

这是结果:

text before: 47.50
text after: 47.50

运行时, View 中的文字变大了,但大小不变,设置文字后如何获取实际高度?

最佳答案

您所要做的就是:

  • 设置除高度之外的所有约束 AND
  • textViewscrollEnabled 属性设置为 NO

最后一部分是诀窍。

您的 TextView 将根据其文本值自动调整大小。

关于ios - 设置文本后使用自动布局获取 UITextView 动态高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060080/

相关文章:

ios - 读取音频文件时出现大量内存峰值

ios - 从 UI BarButtonSystemItem 图标获取图像

ios - 在 Objective-C 中传回 NSManagedObject

objective-c - 调整 UIImage 的大小而不将其完全加载到内存中?

ios - Swift 并覆盖自定义类的 init 方法

ios - Xcode应用程序键盘看起来很拉长

ios - 如何仅在自动布局中使用 Storyboard为 iPhone 5s 或 iPhone SE 设置约束?

ios - 以编程方式更改单元格中 ImageView 的约束

ios - 如何在多个按钮之间平均分配空间?

ios - UIViewAnimationOptionAllowUserInteraction 不工作