- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSString *substring = textView.text;
substring = (text.length == 0 && range.length == 1) ?
[substring substringToIndex: substring.length-1] : [substring stringByAppendingString: text];
CGSize size = [substring sizeWithFont:textView.font
constrainedToSize:CGSizeMake(textView.frame.size.width, 200.0)];
CGFloat height = MAX(size.height, firstHeight);
if(height != lastHeight)
{
CGFloat y = height - lastHeight;
CHANGE_HEIGHT(textView, height);
lastHeight = height;
}
return YES;
}
问题是这sizeWithFont:constrainedToSize:
给了我错误的高度。例如,如果文本是" Hello \n
" sizeWithFont
将不计入" \n
",因此"Hello"和" Hello \n
"文本的高度相同。
任何需要的帮助将不胜感激!