当用户在 UITextView 或 UIWebView 中选择一些文本时,会显示 UIMenuController。有没有办法以编程方式访问这个选定的文本?
我需要它,因为我想将自定义项目添加到 UIMenuController: 'Search' 选项,该选项旨在搜索数据库中的选定文本。
是否可以不使用“复制”项将文本复制到粘贴板,然后下次从 UIPasteBoard 获取它?- 我对这种解决方法不感兴趣。
当用户在 UITextView 或 UIWebView 中选择一些文本时,会显示 UIMenuController。有没有办法以编程方式访问这个选定的文本?
我需要它,因为我想将自定义项目添加到 UIMenuController: 'Search' 选项,该选项旨在搜索数据库中的选定文本。
是否可以不使用“复制”项将文本复制到粘贴板,然后下次从 UIPasteBoard 获取它?- 我对这种解决方法不感兴趣。
我所做的是将此方法添加到 UIWebView 的类别中:
- (NSString *)selectedText {
return [self stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
}
之后,我可以使用[webView selectedText]
访问当前选择。
你有没有看过 Apple 的文档。你可以使用提供的 MenuItems 属性来创建你的自定义 UIMenuController。看看下面的图片
并遵循这个
链接了解详情。
您还可以查看 Apple 提供的示例代码以了解该功能。
在此示例代码中,他们在 UIMenuController 中显示了“电子邮件”。
所以继续编写代码......一切顺利......
干杯
要从 UIWebView 中显示的 PDF 中获取文本,这将起作用
-(void)copiedString{
[[UIApplication sharedApplication] sendAction:@selector(copy:) to:nil from:self forEvent:nil];
NSString *copiedString = [UIPasteboard generalPasteboard].string;
NSLog(@"Copied String: %@",copiedString);
}