我必须获得包含在UITextView中的字符串屏幕上的位置。为此,我尝试获取相应的UITextPosition。问题是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]);
}发布于 2014-01-26 22:25:22
这大约晚了一个月,但要确保在Interface中启用了“可选”属性。
信贷:http://jon-nolen.blogspot.com/2013/10/uitextview-returns-nil-for-uitextinput.html
发布于 2015-08-03 14:54:40
确保将UITextField添加为另一个视图的子视图。如果它只存在于内存中,beginningOfDocument和endOfDocument属性将由于某种原因返回nil。
https://stackoverflow.com/questions/20426048
复制相似问题