在UITextView中,如何得到下一个input将开始另一行的点

我在iOS中使用UITextView,并希望得到下一个input文本将开始另一个新行的时刻。

我怎样才能得到这个?

—– Editted ——-

—-经过长时间的研究,我发现以下是可以的,但似乎有点复杂。

//limit text within text box NSString *originalStr = textView.text; textView.text = [textView.text stringByAppendingString:text]; CGFloat lineHeight = textView.font.lineHeight; int currentLines = textView.contentSize.height / lineHeight; int maxLines = textView.frame.size.height/lineHeight; if (currentLines > maxLines) { NSString * firstHalfString = [originalStr substringToIndex:range.location]; NSString * secondHalfString = [originalStr substringFromIndex: range.location]; textView.text = [NSString stringWithFormat: @"%@%@%@", firstHalfString, text, secondHalfString]; int timeout = 0; while (true) { timeout =50; textView.text = [textView.text substringToIndex:(textView.text.length -1)]; int newCurrentLines = textView.contentSize.height / lineHeight; if ((newCurrentLines == maxLines) || (timeout > 50)) break; } textView.selectedRange = range; return false; } else { textView.text = originalStr; textView.selectedRange = range; return true; } 

在这个UITextView的委托方法中,每次更改文本字段时,此代码都会计算行数:

 -(void)textViewDidChange:(UITextView *)textView { UIFont *font = [UIFont boldSystemFontOfSize:11.0]; CGSize size = [string sizeWithFont:font constrainedToSize:myUITextView.frame.size lineBreakMode:UILineBreakModeWordWrap]; // default mode float numberOfLines = size.height / font.lineHeight; }