我有一个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;我正在开发一个通用的应用程序,我不想在代码中使用太多的约束。有没有办法在不增加额外约束的情况下修复它?
发布于 2017-11-22 16:20:30
我已经尝试过layoutifneeds,set需要量布局,所有这些函数都不会调整uitextview的容器视图的大小,即使您更改了容器视图的大小,uitextview也将保持原来的大小。
在查看uitextview的UI层次结构之后,我发现调整uitextview高度大小的一种简单方法是布局子视图。
[self.textview sizeToFit];
[self.textview layoutSubviews];您可能需要在xib文件中设置textview高度>=最小高度。
有很多关于uitextview的动态高度的问题,我找不到这个答案,不幸的是,我不能发布这些问题的答复,如果你认为这个答案是有帮助的,请与其他类似的问题分享。
发布于 2022-05-26 13:04:26
我有一个类似的问题,发现我必须将scrollingEnabled设置为false,然后sizeToFit()才能工作。
https://stackoverflow.com/questions/47437347
复制相似问题