【问题标题】:UITextView get previous character - (i.e character before the cursor position) (iOS7)UITextView 获取前一个字符 - (即光标位置之前的字符)(iOS7)
【发布时间】:2014-06-18 12:07:43
【问题描述】:
我不知道如何获取输入的前一个字符。所以换句话说,我怎样才能在 UITextView 内的任何位置获取光标之前的字符。
NSInteger pos = [self.textInput offsetFromPosition:self.textInput.beginningOfDocument toPosition:textrange.start];
CGRect s = [self.textInput caretRectForPosition:self.textInput.selectedTextRange.start];
UITextRange *textrange = [self.textInput characterRangeAtPoint: s.origin];
谢谢,
亲切的问候,
会
【问题讨论】:
标签:
ios7
uitextview
uitextposition
uitextrange
【解决方案1】:
谢谢它是我正在寻找的,我之前确实看到过,但不是 100% 确定,我稍微修改了一下,它很好。
UITextPosition *beginning = self.textInput.beginningOfDocument;
UITextPosition *selectionStart = self.textInput.selectedTextRange.start;
UITextPosition *selectionEnd = self.textInput.selectedTextRange.end;
NSInteger location = [self.textInput offsetFromPosition:beginning toPosition:selectionStart];
NSInteger length = [self.textInput offsetFromPosition:selectionStart toPosition:selectionEnd];
NSRange selectedRange = NSMakeRange(location,length);
NSRange range = NSMakeRange(selectedRange.location-1,1);
NSString *lastChar = [textValue substringWithRange:range];