2009-10-07 12 views

答えて

16

UIMenuController classを使用して、[切り取り/コピー/貼り付け]メニューを手動で表示できます。

[self becomeFirstResponder]; 

UIMenuController *copyMenuController = [UIMenuController sharedMenuController]; 

[copyMenuController setTargetRect:image.frame inView:self.view]; 
[copyMenuController setMenuVisible:YES animated:YES]; 

これはあなたのイメージをホストするビューのUIViewControllerでこのコードを実行することがありますことを前提としています。たとえば、次のコードは、あなたのイメージを中心にメニューが表示されます。様々なメニュー項目を有効にするには

、あなたもあなたのコントローラ内のいくつかのデリゲートメソッドを実装する必要があります。この場合

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(cut:)) 
     return NO; 
    else if (action == @selector(copy:)) 
     return YES; 
    else if (action == @selector(paste:)) 
     return NO; 
    else if (action == @selector(select:) || action == @selector(selectAll:)) 
     return NO; 
    else 
     return [super canPerformAction:action withSender:sender]; 
} 

- (BOOL)canBecomeFirstResponder 
{ 
    return YES; 
} 

を、唯一のコピー]メニューオプションが有効になります。また、適切な-copy:メソッドを実装して、ユーザーがそのメニュー項目を選択したときの処理を処理する必要があります。

関連する問題