iBooks如何做到这一点?

Yol*_*nda 4 iphone objective-c uiwebview ibooks ios4

我目前正在uiwebview中显示文本.但是,我想允许用户选择文本并使用所选文本执行某些操作(google it).Apple已经使用iBooks完成了这类工作.单击单词时,您可以选择在字典中查找单词.如何使用Webview做同样的事情?

UIMenuController似乎是我需要关注的.但我找不到任何关于如何做到这一点的示例代码.我是iPhone新手,请帮助.

Mat*_*ens 8

从iOS 3.2开始,您可以使用UIMenuController将其他UIMenuItem添加到在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
}
Run Code Online (Sandbox Code Playgroud)

Apple在"设备功能编程指南" 的" 添加自定义编辑菜单项"部分中介绍了它的工作原理.