如何检查UITextView
中的文字是否由于自动换行而转到下一行?
我目前有代码检查用户是否输入了新行(来自键盘)。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
{
if ( [text isEqualToString:@"\n"] ) {
...
}
return YES;
}
答案 0 :(得分:5)
您可以使用UITextView的contentSize.height属性来确定textview的“高”程度。然后,您可以除以lineHeight来计算行数。 @ nacho4d提供了这段代码:#/ p>
int numLines = textView.contentSize.height/textView.font.lineHeight;
有关详细信息,请参阅此问题: How to read number of lines in uitextview
编辑: 所以你可以在-textViewDidChange中执行类似的操作:以检查换行。
int numLines = textView.contentSize.height / textView.font.lineHeight;
if (numLines != numLinesInTextView){
numLinesInTextView = numLines;//numLinesInTextView is an instance variable
//then do whatever you need to do on line change
}