Получение оставшегося текста после выделения

Есть ли простой способ получить оставшийся текст после выделения? Позвольте мне предположить, что у меня есть элемент управления textview с "Hello, Jim" в нем. Если выбран "Jim", я хочу сохранить "Hello" в переменной ", не используя [textview1 cut:self]. В следующем коде я могу получить другую часть.

UITextRange *selectedTextRange = textview1.selectedTextRange;
NSUInteger location = [textview1 offsetFromPosition:textview1.beginningOfDocument toPosition:selectedTextRange.start];
NSUInteger length = [textview1 offsetFromPosition:selectedTextRange.start toPosition:selectedTextRange.end];
NSRange selectedRange = NSMakeRange(location, length);
NSString *str = [textview1.text substringWithRange:selectedRange];
NSLog(@"%@",str);

Конечно, это другая часть.

Спасибо за помощь.

2 ответа

Решение
NSString *remaining = [textview1.text stringByReplacingCharactersInRange:textview1.selectedRange withString:@""];

Я думаю, что-то вроде следующего. (В новой редакции)

NSMutableString *str = [NSMutableString stringWithString:@""];
if (textview1.text.length > length) {
    [str appendString:[textview1.text substringToIndex:location]];
    [str appendString:[textview1.text substringFromIndex:location + length]];
} else {
    [str appendString:@""];
}
[self setText:str];
Другие вопросы по тегам