Dostaję to dziwne zachowanie. Używam panelu z tekstem do wyświetlenia użytkownikowi, gdy aplikacja czeka na jakieś informacje. Ten panel jest wyświetlany modalnie, aby uniemożliwić użytkownikowi kliknięcie.Jak wymusić sprawdzanie NSToolBar?
Po schowaniu panelu ładowania wszystkie elementy na pasku narzędzi są wyłączone, a metoda validateToolbarItem
nie jest wywoływana.
jestem przedstawiający panel w ten sposób:
- (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];
}
Jak mogę zmusić pasek narzędzi do sprawdzania poprawności w tym przypadku?
Edit po komentarzu:
Próbowałem już:
[[[NSApp mainWindow] toolbar] validateVisibleItems]
[[NSApp mainWindow] update];
[NSApp updateWindows];
[NSApp setWindowsNeedUpdate:YES];
Wszystko po połączeniu dismissModal
. Myślę, że problem jest gdzie indziej ....
Z nagłówka: Zwykle nie powinieneś używać tej metody. Ta metoda jest wywoływana w aktualizacjach okien w celu sprawdzania poprawności każdego z widocznych elementów. –