Получение выделенного текста при отображении UIMenuController - PullRequest
2 голосов
/ 19 января 2011

Когда пользователь выбирает некоторый текст в UITextView или UIWebView, отображается UIMenuController.Есть ли какой-нибудь способ программного доступа к этому выделенному тексту?

Мне это нужно, потому что я хочу добавить пользовательский элемент в UIMenuController: параметр «Поиск», который будет предназначен для поиска выбранного текста в базе данных.1004 * Возможно ли без использования пункта «Копировать» скопировать текст в монтажный картон и затем получить его из UIPasteBoard в следующий раз?- Меня не интересует такой обходной путь.

Ответы [ 3 ]

5 голосов
/ 20 января 2011

Что я сделал, чтобы добавить этот метод в категорию UIWebView:

- (NSString *)selectedText {
    return [self stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
}

После этого я могу использовать [webView selectedText] для доступа к текущему выбору.

1 голос
/ 26 июля 2013

Чтобы получить текст из PDF-файла, отображаемого в UIWebView, это будет работать

 -(void)copiedString{

    [[UIApplication sharedApplication] sendAction:@selector(copy:) to:nil from:self forEvent:nil];
    NSString *copiedString =  [UIPasteboard generalPasteboard].string;
    NSLog(@"Copied String: %@",copiedString);
}
1 голос
/ 19 января 2011

Вы посмотрели документацию Apple. Вы можете использовать предоставленное свойство MenuItems для создания своего пользовательского UIMenuController. Посмотрите на изображение ниже

alt text

и следуйте эта

ссылка для получения подробной информации.

Вы также можете ознакомиться с примером кода, предоставленным Apple, чтобы понять эту функцию.

http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010139

В этом примере кода они показывают «E-mail» в UIMenuController.

Так что давай, кодируй ... Всего наилучшего ...

Cheers

...