0

前に入力した文字を取得する方法がわかりません。言い換えれば、カーソルの直前にある文字を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];

ありがとう、

敬具、

意思

4

1 に答える 1

3

それは私が探していたものであり、私は実際に前にそれを見ましたが、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];
于 2014-06-18T12:42:53.963 に答える