나는 이상한 행동을하고있다. 응용 프로그램이 일부 정보를 기다리고있을 때 사용자에게 보여줄 텍스트가있는 패널을 사용하고 있습니다. 이 패널은 사용자가 무언가를 클릭하는 것을 방지하기 위해 모달로 표시됩니다.NSToolBar 유효성 검사를 강제 적용하는 방법?
로딩 패널이 숨겨지면 도구 모음의 모든 항목이 비활성화되고 validateToolbarItem
메서드가 호출되지 않습니다.
- (void)showInWindow:(NSWindow *)mainWindow {
sheetWindow = [self window];
[self sheetWillShow];
[NSApp beginSheet:sheetWindow modalForWindow:mainWindow modalDelegate:nil didEndSelector:nil contextInfo:nil];
[NSApp runModalForWindow:sheetWindow];
[NSApp endSheet:sheetWindow];
[sheetWindow orderOut:self];
}
- (void)dismissModal {
[sheetWindow close];
[NSApp stopModal];
}
가 어떻게이 경우에는 유효성을 검사하는 도구 모음을 강제 할 수
나는 이런 방식으로 패널을 보여주는거야? 코멘트 후
편집 :
난 이미 시도 :
[[[NSApp mainWindow] toolbar] validateVisibleItems]
[[NSApp mainWindow] update];
[NSApp updateWindows];
[NSApp setWindowsNeedUpdate:YES];
모두 dismissModal
입니다. 나는
헤더에서 : 일반적으로이 메소드를 호출하면 안됩니다. 이 메서드는 가시 항목 각각 의 유효성을 검사하기 위해 창 업데이트에서 호출됩니다. –