Ios 返回无限帧的第一个矩形

Ios 返回无限帧的第一个矩形,ios,uitextview,Ios,Uitextview,我正在尝试获取textview中添加到单元格中的最后一个字符的位置rect。 当我重新加载单元格时会发生什么,然后这个方法返回infinite rect。我不知道为什么会这样。请帮我改正一下。我的代码如下- UITextPosition *Pos2 = [_txt_EventName positionFromPosition: _txt_EventName.endOfDocument offset: 0]; UITextPosition *Pos1 = [_txt_EventName p

我正在尝试获取textview中添加到单元格中的最后一个字符的位置rect。 当我重新加载单元格时会发生什么,然后这个方法返回infinite rect。我不知道为什么会这样。请帮我改正一下。我的代码如下-

UITextPosition *Pos2 = [_txt_EventName positionFromPosition: _txt_EventName.endOfDocument offset: 0];
    UITextPosition *Pos1 = [_txt_EventName positionFromPosition: _txt_EventName.endOfDocument offset: -1];

    UITextRange *range = [_txt_EventName textRangeFromPosition:Pos1 toPosition:Pos2];

    CGRect rect=[_txt_EventName firstRectForRange:range];

    CGPoint lastCharPoint=rect.origin;

我遇到了同样的问题(实际上是无意中发现了您的问题),通过在我的文本视图上调用
layoutifneed
解决了我的问题。 在此调用之后,将正确计算返回的矩形。我花了很多时间弄明白这一点

祝你好运,
Z.

在Xamarin中,我用来重写LayoutSubViews方法并在base.LayoutSubViews()之后调用我的函数。

一个无限矩形通常作为一种“错误”标记返回。因此,请确保范围实际有效。我检查了范围并始终有效。我在计算范围后添加了if([\u txt_EventName textInRange:range]==nil){NSLog(@“Invalid TextRange”);},但此代码一次都没有执行。这很有帮助!谢谢我现在也遇到同样的问题,但是
layoutIfNeeded
不起作用。