Получение оставшегося текста после выделения
Есть ли простой способ получить оставшийся текст после выделения? Позвольте мне предположить, что у меня есть элемент управления 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];