0

尝试对 UIWebView 中选择的文本进行一些处理。有 2 个按钮弹出:

复制和定义

在此处输入图像描述

在非常高的水平上,我该如何执行以下操作?

1) 抓取选中文本的值

2) 添加另一个菜单项

谢谢

4

2 回答 2

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')"];
    }
}
于 2012-03-28T20:57:30.967 回答
1

UIMenuController例是带有按钮的黑色弹出窗口,文档中有关于如何使用它的很好的信息(手动呈现、添加新项目、响应操作等)。

至于获取选定的文本,我看到您在 a 中使用了可编辑的 div UIWebView,这意味着您必须通过 JavaScript 响应编辑操作。

于 2012-03-28T20:52:58.373 回答