UITextView,sizeToFit 不起作用
UITextView, sizeToFit doesnt work
我有一个uitextview,我想根据内容动态加载它,
此 link 的答案不适用于 iOS11。
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;
我正在开发一个通用应用程序,我不想在代码中使用太多约束。有没有办法在不增加额外约束的情况下修复它?
我试过layoutifneeds,setneedforlayout,所有这些函数都不会调整uitextview的containerview的大小,即使你改变containerview的大小,uitextview也会保持原来的大小。
查看 uitextview 的 UI 层次结构后,我发现调整 uitextview 高度的简单方法是 layoutsubviews。
[self.textview sizeToFit];
[self.textview layoutSubviews];
您可能需要在 xib 文件中设置 textview 高度 >= 最小高度。
有很多关于uitextview动态高度的问题,我找不到这个答案,不幸的是我不能post回复这些问题,如果你觉得这个答案有帮助,请分享给其他类似的人问题。
我遇到了类似的问题,发现我必须将 scrollingEnabled
设置为 false
,然后 sizeToFit()
才能工作。
我有一个uitextview,我想根据内容动态加载它, 此 link 的答案不适用于 iOS11。
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;
我正在开发一个通用应用程序,我不想在代码中使用太多约束。有没有办法在不增加额外约束的情况下修复它?
我试过layoutifneeds,setneedforlayout,所有这些函数都不会调整uitextview的containerview的大小,即使你改变containerview的大小,uitextview也会保持原来的大小。
查看 uitextview 的 UI 层次结构后,我发现调整 uitextview 高度的简单方法是 layoutsubviews。
[self.textview sizeToFit];
[self.textview layoutSubviews];
您可能需要在 xib 文件中设置 textview 高度 >= 最小高度。
有很多关于uitextview动态高度的问题,我找不到这个答案,不幸的是我不能post回复这些问题,如果你觉得这个答案有帮助,请分享给其他类似的人问题。
我遇到了类似的问题,发现我必须将 scrollingEnabled
设置为 false
,然后 sizeToFit()
才能工作。