UITextView动态宽度与文本iOS
问题描述:
需要一些帮助。我正在构建一个聊天应用,并希望聊天textView根据文本的宽度进行调整,因此如果短消息,textView会相应地进行调整。我使用自动布局,但似乎无法弄清楚如何根据textView的文本行长度动态调整约束的常量。谢谢。UITextView动态宽度与文本iOS
我怎么会有现在:
约束:
答
编程,你可以不喜欢,
目标C
- (void)textViewDidChange:(UITextView *)textView {
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;
}
斯威夫特
let fixedWidth = textView.frame.size.width
textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
var newFrame = textView.frame
newFrame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)
textView.frame = newFrame;
答
使用这个自定义的TextView类 “HPGrowingTextView”,这对我的工作。
下面是链接: -
你使用的是UITableViewAutomaticDimension –
是的,但只是似乎照顾了单元格的高度 – dcotter