0

Webビューとアドレスバーのように機能するテキストフィールドのみを含む単一のビューアプリケーションがあります。Webページの一部を選択した後、ボタンを押してそれをコピーし(テキストと画像を含むすべての選択)、自動的に別のビューに貼り付けたいと思います。編集メニューにボタンを追加することはできますが(コピーと貼り付けのボタンを削除する方法はわかりませんが)、選択を取得する方法がわかりません。

ジェスチャレコグナイザーを使用してこれを実行しようとしましたが、選択を取得する方法が見つかりません。ビューコントローラをaUIWebViewDelegateとanに設定し、、とUIGestureRecognizerDelegateを実装しようとしましたが、選択を開始したときに呼び出されません。このような例を知っていますか、少なくとも私を良い方向に向けてください。ありがとうございました!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);
}
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 に答える