OGeek|极客世界-中国程序员成长平台

标题: ios - UITextView,sizeToFit 不起作用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:21
标题: ios - UITextView,sizeToFit 不起作用

我有一个uitextview,我想根据内容动态加载它, 此链接的答案在 iOS11 上不起作用。 https://stackoverflow.com/a/20999067/365384

  CGFloat fixedWidth = textView.frame.size.width;
  CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
  CGRect newFrame = textView.frame;
  newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
   textView.frame = newFrame;

我唯一能做的就是使用约束更新约束

CGFloat fixedWidth = self.textView .frame.size.width;
CGSize newSize = [self.textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
    self.textViewHeightConstraint.constant = newSize.height;

我正在开发一个通用应用程序,我不想在代码中使用太多约束。有什么方法可以在不增加额外约束的情况下修复它?



Best Answer-推荐答案


我试过layoutifneeds、setneedforlayout,所有这些功能都不会调整uitextview的containerview大小,即使你改变了containerview的大小,uitextview也会保持原来的大小。

查看 uitextview 的 UI 层次结构后,我想出一个调整 uitextview 高度的简单方法是 layoutsubviews。

[self.textview sizeToFit];
[self.textview layoutSubviews];

您可能需要在 xib 文件中设置 textview height >= min height。

关于uitextview的动态高度有很多问题,我找不到这个答案,很遗憾我无法回复这些问题,如果您认为这个答案有帮助,请与其他类似问题分享。

关于ios - UITextView,sizeToFit 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47437347/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4