我目前正在uiwebview中显示文字。但是,我想允许用户选择文本并使用所选文本执行某些操作(google it)。 Apple已经使用iBooks完成了这类工作。单击单词时,您可以选择在字典中查找单词。如何使用Webview做同样的事情?
UIMenuController似乎是我需要关注的。但我找不到任何关于如何执行此操作的示例代码。我是iPhone新手,请帮忙。
答案 0 :(得分: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 :(得分:1)