Ios 在UITextView上获取特定行的文本

Ios 在UITextView上获取特定行的文本,ios,text,uitextview,line,Ios,Text,Uitextview,Line,最后,我想知道UITextView中最后一个字符的位置。我能够通过以下方法找到y位置: CGSize size=[textView.text sizeWithFont:textView.font constrainedToSize:CGSizeMake(textView.frame.size.width-161000) lineBreakMode:UILineBreakModeClip] 但是,为了获得x位置,我需要从textview的最后一行获取文本。我试图一次从textView.text中删

最后,我想知道UITextView中最后一个字符的位置。我能够通过以下方法找到y位置:

CGSize size=[textView.text sizeWithFont:textView.font constrainedToSize:CGSizeMake(textView.frame.size.width-161000) lineBreakMode:UILineBreakModeClip]

但是,为了获得x位置,我需要从textview的最后一行获取文本。我试图一次从textView.text中删除一个字符,直到size.height更改以实现该效果,但我意识到,在考虑换行符时,这并不总是等于我想要的效果


有什么建议吗?我花了一整天的时间试图弄明白这一点…

您可以像这样在uitextview或uitextfield中计算文本大小

UIFont*myFont=[UIFont fontWithName:@“Gill Sans”大小:19];
CGSize textSize=[@“您的文本”大小WithFont:myFont constrainedToSize:CGSizeMake(textfield.frame.size.width,textfield.frame.size.height)lineBreakMode:UILineBreakModeWordWrap];
NSlog(@“这是您的文本大小W=%f H=%f”,textSize.width,textSize.height);

我想我找到了一个解决方案,使用caretRectForPosition获取文本视图中光标的像素位置

// move cursor to the end of the text
textView.selectedRange = NSMakeRange([textView.text length], 0);
CGPoint cursorPosition = [textView caretRectForPosition:textView.selectedTextRange.start].origin;

我做到了,但单凭这一点并不能得到我想要的上述结果。
// move cursor to the end of the text
textView.selectedRange = NSMakeRange([textView.text length], 0);
CGPoint cursorPosition = [textView caretRectForPosition:textView.selectedTextRange.start].origin;