Нативного решения для этой задачи нет, но вы смотрите в правильном направлении:
1) Нужно отследить слово, которое нажал пользователь
2) Необходимо показать вид с вариантами выбора
У меня была похожая задача, я сделал так:
Я использовал UITextView, чтобы показать некоторый текст после того, как я обнаружил слово, которое нажал пользователь: я добавил TapGesture в свой UITextView и отключил «редактируемый» в UITextView
- (IBAction)gestureAction:(UITapGestureRecognizer *)sender
{
_textView = (UITextView *)sender.view;
CGPoint location = [sender locationInView:_textView];
CGPoint position = CGPointMake(location.x, location.y);
//get location in text
UITextPosition *tapPosition = [_textView closestPositionToPoint:position];
//word position
UITextRange *textRange = [_textView.tokenizer rangeEnclosingPosition:tapPosition withGranularity:UITextGranularityWord inDirection:UITextLayoutDirectionRight];
NSString *tappedSentence = [_textView textInRange:textRange];
NSLog(@"selected :%@ -- %@",tappedSentence,tapPosition);
if ([tappedSentence isEqualToString:@"Lorem"])
{
//show choise view
}
}
Например, если нажатое слово равно "Lorem", я показываю pickerView с некоторым выбором, а после (я знаю выделенную текстовую позицию) я просто заменяю это слово, если есть вопросы, я могу ответить...
P.S извините, я не заметил, что вопрос про программирование OS X, но может быть, это помогло и вам
person
Joe Hallenbeck
schedule
23.01.2016