2009-10-07 9 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 : 메소드를 구현해야합니다.