2013-04-08 4 views
0

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

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); 

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

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

ответ

0
NSString *remaining = [textview1.text stringByReplacingCharactersInRange:textview1.selectedRange withString:@""]; 
+0

Спасибо. Я бы не сделал этого, так как возможно, что содержимое textview может содержать несколько копий выбранной фразы. –

+0

Вы заменяете только текст, а не текстовое значение. – sixthcent

+0

Я вижу. Большое спасибо. –

0

Я думаю, что это что-то вроде следующего. (пересмотренная)

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];