2

PDFファイルが表示されたWebビューがあります。Web ビューの標準として、ユーザーはテキストを選択し、コピー、切り取りなどの標準操作を実行できます。カスタム アクションを表示するためのカスタム UIMenuController を追加する必要があります。標準の UIPasteboard で選択したテキストをコピーして、カスタム セレクターに渡す方法がわかりません。私は使用しようとしました

[[UIApplication sharedApplication] sendAction:@selector(copy:) to:nil from:self forEvent:nil];

メソッドで、選択したテキストをコピーできますが、この値をメソッドに戻す方法がわかりません。

これは私のコードです(簡略化されています)ビューでロードされました。セレクターmyCopyを実行するために、UIPasteboardChangedNotificationのオブザーバーを1つ追加しました。

- (void)viewDidLoad
{
[super viewDidLoad];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myCopy:) name:UIPasteboardChangedNotification object:nil];

UIMenuItem *schedaMenuItem = [[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"POPSCHEDA",nil) action:@selector(copyScheda:)];
UIMenuItem *istruzionetMenuItem = [[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"POPISTR",nil) action:@selector(copyIstruzione:)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObjects:MenuItem1,MenuItem2,nil]];

}

-(void)myCopy:(id)sender {
  UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
  NSString* copyCode = pasteboard.string;
  //perform the necessary action
 }

 -(void)copyScheda:(id)sender {
   UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
   NSString* copyCode = pasteboard.string;
   //perform the necessary action
 }

 -(void)copyIstruzione:(id)sender {
   UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
   NSString* copyCode = pasteboard.string;
   //perform the necessary action
 }

ご協力いただき、ありがとうございました。

4

1 に答える 1