문제의 특정 메뉴에 속한 NSMenuItem에 할당 된 바로 가기 키를 누르면 응용 프로그램 "메뉴 강조 표시"를 비활성화하려고합니다.바로 가기 키를 누를 때 메뉴 강조 표시 사용 안 함
문제는 응용 프로그램에서 키보드를 꽤 많이 사용하고 메뉴를 항상 강조 표시하게 만드는 것이지만 약간의 짜증나는 일이지만 여전히 사용자에게 표시되는 메뉴 (바로 가기 포함)를 갖고 싶어합니다. 사용할 수있는 조치.
문제의 특정 메뉴에 속한 NSMenuItem에 할당 된 바로 가기 키를 누르면 응용 프로그램 "메뉴 강조 표시"를 비활성화하려고합니다.바로 가기 키를 누를 때 메뉴 강조 표시 사용 안 함
문제는 응용 프로그램에서 키보드를 꽤 많이 사용하고 메뉴를 항상 강조 표시하게 만드는 것이지만 약간의 짜증나는 일이지만 여전히 사용자에게 표시되는 메뉴 (바로 가기 포함)를 갖고 싶어합니다. 사용할 수있는 조치.
사용자 지정 NSMenuItem 하위 클래스를 선언하고 NSMenuItem 대신 해당 사용자 지정 클래스를 사용하기 시작하십시오. 이 메뉴 항목이 없습니다이 방법이 강조
- (BOOL)isHighlighted
{
return NO;
}
:이 메소드를 오버라이드 (override)이 클래스에서
.편집
이 시도 :
[item setOnStateImage: item.offStateImage];
FFR을 : 워드 프로세서에서 다음과 같은 방법을 찾기 :
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
모두가 메뉴 항목을 선택하고 관련에 대해 작동합니다 명령 키. 당신의 NSDocument 내
은, 위의 선택기 highlight:
수 있습니다 validateMenuItem
같은 귀하의 경우에는
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
{
SEL theAction = [menuItem action];
if (theAction == @selector(openPreferencesPanel:)) {
return !_isCurrentlyModal; //A BOOL in MyDocument
}
return [super validateMenuItem:menuItem]; // Keep this for proper cut, paste, etc validation
}
로의 몸을 제공한다. nib/xib를 점검하고 점검하십시오. 첫 번째 응답자와 연결될 수 있습니다. 메소드 이름을 복사하십시오.
더 일반적인 항목 (버튼 등)에 대한 gander도 있고 메뉴 항목도 있습니다.
- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem
이는 어떤 이유로 작동하지 않습니다. isHighlighted 메서드는 결코 호출되지 않습니다. (코드 작업을보고 정상적으로 동작 하는지를보기 위해 isHidden을 구현하려고 시도했습니다.) –
setOnStateImage를 실행하면 도움이되지 않았습니다. –
그냥 똑같은 것을 말하고 싶습니다. 다음은 하이라이트입니다. https://dl.dropbox.com/u/5205843/menu_highlight.png (보기 메뉴의 항목으로 키를 누를 때 일어나는 현상입니다) –