首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextView,sizeToFit不工作

UITextView,sizeToFit不工作
EN

Stack Overflow用户
提问于 2017-11-22 14:37:38
回答 2查看 1.2K关注 0票数 2

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

代码语言:javascript
复制
  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;

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

代码语言:javascript
复制
CGFloat fixedWidth = self.textView .frame.size.width;
CGSize newSize = [self.textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
    self.textViewHeightConstraint.constant = newSize.height;

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-22 16:20:30

我已经尝试过layoutifneeds,set需要量布局,所有这些函数都不会调整uitextview的容器视图的大小,即使您更改了容器视图的大小,uitextview也将保持原来的大小。

在查看uitextview的UI层次结构之后,我发现调整uitextview高度大小的一种简单方法是布局子视图。

代码语言:javascript
复制
[self.textview sizeToFit];
[self.textview layoutSubviews];

您可能需要在xib文件中设置textview高度>=最小高度。

有很多关于uitextview的动态高度的问题,我找不到这个答案,不幸的是,我不能发布这些问题的答复,如果你认为这个答案是有帮助的,请与其他类似的问题分享。

票数 0
EN

Stack Overflow用户

发布于 2022-05-26 13:04:26

我有一个类似的问题,发现我必须将scrollingEnabled设置为false,然后sizeToFit()才能工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47437347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档