0

我有一个单视图应用程序,它只包含一个 Web 视图和一个类似于地址栏的文本字段。选择网页的一部分后,我想按下一个按钮来复制它(包括文本和图片在内的所有选择)并自动将其粘贴到另一个视图中。我可以在编辑菜单中添加一个按钮(虽然我不知道如何删除复制和粘贴按钮),但我不知道如何获得选择。

我曾尝试使用手势识别器来做到这一点,但我找不到获得选择的方法。我将我的视图控制器设置为 a UIWebViewDelegateand anUIGestureRecognizerDelegate并尝试实现touchesBegan, touchesMovedand touchesEnded,但是在开始选择时它们不会被调用。你知道这样的例子吗,或者至少为我指明了好的方向?谢谢!

UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Copy String" action:@selector(stringFromSelection:)];
UIMenuController *menuController = [UIMenuController sharedMenuController];
menuController.menuItems = [NSArray arrayWithObject:menuItem];

-(void)stringFromSelection:(id)sender
{
NSString *selectionString = [browserView stringByEvaluatingJavaScriptFromString:@"window.getSelection()"];    //browserView is UIWebView class
NSLog(@"selected string = %@",selectionString);
}
4

1 回答 1

0

获取所选文本并将其复制以添加.ToString()到您的功能的解决方案..最后它将是:

-(void)stringFromSelection:(id)sender
{
NSString *selectionString = [browserView stringByEvaluatingJavaScriptFromString:@"window.getSelection().ToString()"];
NSLog(@"selected string = %@",selectionString);
}

我不确定这是否也适用于图像.. 测试它。

于 2012-05-21T16:00:59.373 回答