2010-07-07 4 views
4

В настоящее время я показываю текст в uiwebview. Однако я хотел бы разрешить пользователю выбирать текст и выполнять некоторые действия с выбранным текстом (google it). Apple сделала это с iBooks. Когда вы нажимаете на слово, вы можете выбрать слово в словаре. Как я могу сделать то же самое с Webview?Как iBooks это делают?

UIMenuController похоже на то, что мне нужно посмотреть. Но я не мог найти образец кода, как это сделать. Я новичок в разработке iPhone, пожалуйста, помогите.

ответ

8

Начиная с iOS 3.2 вы можете использовать UIMenuController, чтобы добавить дополнительное UIMenuItems в системное меню, которое появляется при выборе текста в UIWebView. Вот простой пример:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UIMenuItem *defineItem = [[[UIMenuItem alloc] initWithTitle:@"Define" action:@selector(defineSelection:)] autorelease]; 
    [[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:defineItem]]; 
} 

- (void)defineSelection:(id)sender { 
    NSString *selection = [webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"]; 
    // Do something with the selection 
} 

Apple, описывает, как это работает в Adding Custom Edit Menu Items частях устройства Особенности Руководства по программированию.

1

This recent blog post от разработчика, похоже, предположил бы, что, по крайней мере, в филиале iOS для iPad, некоторые функции iBooks основаны на частных API.

Смежные вопросы