这个问题已经被问过很多次,但是重复给出的两三个答案似乎都不起作用。问题是:一个包含任意文本的`UITextView`,在某些操作后,`UITextView`需要水平和垂直地调整大小以适应文本内容。其他问题上的答案提供了一些数值,这些数值似乎是文本的大概宽度/高度;然而,当`UITextView`被调整为计算出的大小时,它并不完全正确,并且文本的换行方式与原来不同。
建议使用`-sizeWithFont:constrainedToSize:`和其他NSString方法、UITextView的`sizeThatFits:`方法(这会给出更正确的高度,但视图的完整宽度)和文本视图的`contentSize`属性(也会给出错误的宽度)。是否有一种准确的方法来确定`UITextView`文本的宽度?或者文本视图中是否有某些隐藏的填充物,使得实际上文本所适合的宽度更小?还是我完全忽略了什么东西?
建议使用`-sizeWithFont:constrainedToSize:`和其他NSString方法、UITextView的`sizeThatFits:`方法(这会给出更正确的高度,但视图的完整宽度)和文本视图的`contentSize`属性(也会给出错误的宽度)。是否有一种准确的方法来确定`UITextView`文本的宽度?或者文本视图中是否有某些隐藏的填充物,使得实际上文本所适合的宽度更小?还是我完全忽略了什么东西?
CGSize textViewSize = [textView.text sizeWithFont:[UIFont systemFontOfSize:10.0f] constrainedToSize:CGSizeMake(textView.frame.size.width - (textView.contentInset.left + textView.contentInset.left), MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
- jamie-wilson