2013-05-09 4 views
0

많은 방법을 구현했지만 붙여 넣기가 숨기지 않습니다. Xcode 버전 4.5.2를 사용 중입니다.UIviewController 하위 클래스에서 UIMenuControll (잘라 내기, 복사, 붙여 넣기, 모두 선택, 삭제)을 사용 중지하는 방법은 무엇입니까?

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender { 
    UIMenuController *menuController = [UIMenuController sharedMenuController]; 
    if (menuController) { 
     [UIMenuController sharedMenuController].menuVisible = NO; 

    } 
    return NO; 
} 

모든 방법이 저에게 효과가없는 것처럼 보입니다. 아무도 이걸 도와 줄 수 없나요? 미리 감사드립니다

+0

시도가 당신의 콘센트를 하위 클래스 - 토니 많은 고맙습니다 UITextFields http://stackoverflow.com/a/14582785/1702413 – TonyMkenu

+0

내 예를 확인, 그것은 정말 일 : 내가 얼마나 미안 모르는거야 오 당신의 대답 엄지 손가락을 포기 하고이 작업을 수행하는 스타 또는 명성을 필요가 없습니다. 건배 메이트 – iAhmed

답변

0

UIMenuController 항목을 활성화/비활성화하려면이 작업을 수행해야합니다.

  1. 이/보여 UIMenuController 항목을 숨기려면보기 또는 뷰 컨트롤러 (YES/NO 표시/숨기기에 대한 반환) canBecomeFirstResponder를 구현해야합니다.

  2. 또한 UIResponder의 canPerformAction:withSender: 메소드를 구현하여 컨텍스트를 기반으로 사용자 인터페이스 명령 {복사, 선택, 모두 선택, 붙여 넣기 등}을 비활성화하거나 활성화 할 수 있습니다.

  3. Update 메서드를 UIMenuController으로 재정의하면 개별 항목의 사용자 지정 동작을 처리 할 수 ​​있습니다. 예를 들어, 페이스트 보드에 호환 가능한 유형의 데이터가없는 경우 Paste 명령이 비활성화됩니다. 따라서이 메서드를 재정 의하여 붙여 넣기 메뉴 항목을 표시하거나 숨길 수 있습니다.

+0

고맙습니다 친구 .. :) <3 나는 평판 때문에 엄지 손가락을 줄 수 없다 :) – iAhmed

0

시도해 볼 수 있습니다 : 컨트롤러의 viewDidLoad 방법에서 보이지 않게 설정하십시오.

그래도 작동하지 않는다면 시스템의 일부이므로 운이 좋을 것입니다. 내가 볼 수있는 유일한 방법은 사용자가 컨텍스트 메뉴를 트리거 할 수있는 개체를 사용하지 않도록 설정하는 것입니다.

+0

아니, 작동하지 않습니다 – iAhmed