Bu garip davranışları alıyorum. Uygulama bazı bilgileri beklerken kullanıcıya göstermek için metin içeren bir panel kullanıyorum. Bu panel, kullanıcının bir şeyi tıklatmasını engellemek için moda olarak gösterilmektedir.NSToolBar doğrulama nasıl zorlanır?
Yükleme paneli gizlendiğinde, araç çubuğundaki tüm öğeler devre dışı bırakılır ve validateToolbarItem
yöntemi çağrılmaz.
- (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];
}
nasıl bu durumda doğrulamak için araç çubuğunu zorlayabilirsiniz:
ben bu şekilde paneli gösteriyorum? Yorumlarınız sonra
Düzenleme:
Zaten denedim:
[[[NSApp mainWindow] toolbar] validateVisibleItems]
[[NSApp mainWindow] update];
[NSApp updateWindows];
[NSApp setWindowsNeedUpdate:YES];
Aramadan sonra dismissModal
. Ben
Başlıkta: Genellikle bu yöntemi çağırmamalısınız. Bu yöntem, görüntülenen öğelerin her birini doğrulamak amacıyla pencere güncellemelerinde çağrılır. –