UITextView получает предыдущий символ - (т.е. символ перед позицией курсора) (iOS7)

Я не могу понять, как я могу получить предыдущий введенный символ. иными словами, как я могу получить символ, который находится прямо перед курсором в любом месте внутри 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];

Спасибо,

С уважением,

Буду


person Wael    schedule 18.06.2014    source источник
comment
Может вдохновить вас: stackoverflow.com/questions/23607883/ ?   -  person Larme    schedule 18.06.2014


Ответы (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];
person Wael    schedule 18.06.2014