UITextView beginOfDocument返回nil

Aer*_*iel 5 cocoa-touch objective-c uitextview

我必须得到一个包含在一个字符串的屏幕上的位置UITextView.为此,我尝试获取相应的UITextPosition(s).问题是该UITextView方法beginningOfDocument返回nil(相同endOfDocuement).有人能解释我为什么吗?我可以使用哪种解决方案.

我的代码看起来像这样:

- (UITextRange *)getRangeOfString:(NSString *)string inTextView:(UITextView *)tv
{
    UITextPosition *beginning = [tv positionFromPosition:tv.beginningOfDocument offset:[tv.text rangeOfString:string].location];
    UITextPosition *end = [tv positionFromPosition:beginning offset:[tv.text rangeOfString:string].length];

    return ([tv textRangeFromPosition:beginning toPosition:end]);
}
Run Code Online (Sandbox Code Playgroud)

Gaz*_*ini 8

这大约晚了一个月,但请确保在Interface Builder中启用了"可选"属性.

图片来源:http://jon-nolen.blogspot.com/2013/10/uitextview-returns-nil-for-uitextinput.html