尝试对 UIWebView 中选择的文本进行一些处理。有 2 个按钮弹出:
复制和定义
在非常高的水平上,我该如何执行以下操作?
1) 抓取选中文本的值
2) 添加另一个菜单项
谢谢
尝试对 UIWebView 中选择的文本进行一些处理。有 2 个按钮弹出:
复制和定义
在非常高的水平上,我该如何执行以下操作?
1) 抓取选中文本的值
2) 添加另一个菜单项
谢谢
本教程详细回答您的问题:)
http://ios-blog.co.uk/category/tutorials/rich-text-editing-a-simple-start-part-1/
具体来说,要添加菜单项,请执行第 3 部分中的以下操作。将以下内容放在根视图控制器的实现文件中:
UIMenuItem *highlightMenuItem = [[UIMenuItem alloc] initWithTitle:@"Highlight" action:@selector(highlight)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:highlightMenuItem]];
使用高亮方法如下:
- (void)highlight {
NSString *currentColor = [webView stringByEvaluatingJavaScriptFromString:@"document.queryCommandValue('backColor')"];
if ([currentColor isEqualToString:@"rgb(255, 255, 0)"]) {
[webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('backColor', false, 'white')"];
} else {
[webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('backColor', false, 'yellow')"];
}
}
单UIMenuController
例是带有按钮的黑色弹出窗口,文档中有关于如何使用它的很好的信息(手动呈现、添加新项目、响应操作等)。
至于获取选定的文本,我看到您在 a 中使用了可编辑的 div UIWebView
,这意味着您必须通过 JavaScript 响应编辑操作。