4

我目前正在 uiwebview 中显示文本。但是,我想允许用户选择文本并使用所选文本执行一些操作(谷歌搜索)。苹果已经用 iBooks 完成了这种事情。当您单击一个单词时,您可以选择在字典中查找该单词。我怎样才能用 Webview 做同样的事情?

UIMenuController 似乎是我需要看的。但我找不到任何有关如何执行此操作的示例代码。我是 iPhone 开发的新手,请帮忙。

4

2 回答 2

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 在设备功能编程指南的添加自定义编辑菜单项部分中描述了这是如何工作的。

于 2010-07-07T19:39:00.203 回答
1

开发人员最近发表的这篇博文似乎表明,至少在 iPad iOS 分支中,一些 iBooks 功能基于私有 API。

于 2010-07-07T20:49:28.577 回答