将selectedTextRange UITextRange转换为NSRange [英] Convert selectedTextRange UITextRange to NSRange
本文介绍了将selectedTextRange UITextRange转换为NSRange的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将 UITextRange
对象转换为 NSRange
?我已经看到很多关于走向另一个方向的SO帖子,但这与我需要的相反。我正在使用 UITextRange
selectedTextRange
这是 UITextView $ c的属性$ C>。它返回
UITextRange
,但我需要一个范围。
How can I convert a UITextRange
object to an NSRange
? I've seen plenty of SO posts about going the other direction but that's the opposite of what I need. I'm using the UITextRange
selectedTextRange
which is a property of a UITextView
. It returns a UITextRange
but I need a range.
推荐答案
你需要这样的东西:
- (NSRange) selectedRangeInTextView:(UITextView*)textView
{
UITextPosition* beginning = textView.beginningOfDocument;
UITextRange* selectedRange = textView.selectedTextRange;
UITextPosition* selectionStart = selectedRange.start;
UITextPosition* selectionEnd = selectedRange.end;
const NSInteger location = [textView offsetFromPosition:beginning toPosition:selectionStart];
const NSInteger length = [textView offsetFromPosition:selectionStart toPosition:selectionEnd];
return NSMakeRange(location, length);
}
这篇关于将selectedTextRange UITextRange转换为NSRange的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文