Ich erhalte dieses seltsame Verhalten. Ich verwende ein Panel mit Text, um dem Benutzer zu zeigen, wenn die App für einige Informationen wartet. Dieses Panel ist modal zeigen, um den Benutzer zu verhindern, etwas zu klicken.
Wenn das Ladefeld ausgeblendet ist, sind alle Elemente der Symbolleiste deaktiviert und die validateToolbarItem
Methode nicht aufgerufen wird.
Ich zeige das Panel auf diese Weise:
- (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];
}
Wie kann ich die Symbolleiste in diesem Fall zur Validierung zwingen?
Nach Kommentar bearbeiten:
Ich habe es bereits versucht:
[[[NSApp mainWindow] toolbar] validateVisibleItems]
[[NSApp mainWindow] update];
[NSApp updateWindows];
[NSApp setWindowsNeedUpdate:YES];
Alle nach Anruf dismissModal
. Ich denke, dass das Problem anderswo liegt....