Реализация функций «найти следующее» и «найти предыдущее» в какао (как на панели поиска, так и на панели поиска NSTextFinder, также известной как поиск) - PullRequest
2 голосов
/ 16 августа 2011

Любая помощь будет отличной. Я должен добавить, что я новичок в какао.

В настоящее время я проверяю, нахожусь ли я на льве или снежном барсе (проверяя, существует ли класс NSTextFinder или нет), а затем устанавливаю панель поиска

[myTextView setUsesFindPanel:YES];

или бар

[myTextView setUsesFindBar:YES];

Затем в функциях делегата, прикрепленных к пунктам меню «Найти и найти и заменить», я просто вызываю

-(IBAction)find:(id)sender {
    [myTextView performFindPanelAction:sender];
}
-(IBAction)findAndReplace:(id)sender {
    [myTextView performFindPanelAction:sender];
}

Это работает (по крайней мере, на SL), т.е. отображает панель поиска и замены. Find next и find previous работают с самой панели с помощью ее кнопок.

То, что я хотел бы сделать, это соединить пункты меню с find next / previous (через обычный Cmd-G и Shift-Cmd-G), не вызывая панель (согласно обычному поведению). Кажется, я не могу найти способ сделать это в моих функциях

-(IBAction)findNext:(id)sender {
}

-(IBAction)findPrevious:(id)sender {
}

Дополнительный вопрос: будет ли работать тот же код для панели поиска Lion?

Заранее спасибо.

...