我正在創造這種奇怪的行爲。我正在使用帶文本的面板,以在應用程序正在等待某些信息時向用戶顯示。此面板以模態方式顯示,以防止用戶點擊某些內容。如何強制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
。我想這個問題是在其他地方....
從標題:通常你不應該調用這個方法。在窗口更新時調用此方法,目的是驗證每個可見項目的 。 – 2017-04-12 10:49:35