UIWebView复制/粘贴

时间:2012-05-21 10:50:57

标签: objective-c ios xcode uiwebview

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

我曾尝试使用手势识别器来执行此操作,但我无法找到获得选择的方法。我将视图控制器设置为UIWebViewDelegateUIGestureRecognizerDelegate并尝试实施touchesBegantouchesMovedtouchesEnded,但在启动时不会调用它们选择。你知道这样的例子还是至少指出了我的方向?谢谢!

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);
}

1 个答案:

答案 0 :(得分:0)

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

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

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