NSWindow теряет кнопку миниатюризации на Lion - PullRequest
3 голосов
/ 25 октября 2011

У меня эта проблема на OSX Lion при входе / выходе из полноэкранного режима.Я попытался повторно применить маску стиля безуспешно:

NSUInteger styleMask = NSResizableWindowMask | NSClosableWindowMask |  NSMiniaturizableWindowMask | NSTitledWindowMask;
styleMask |= NSTexturedBackgroundWindowMask;

window = [[NSWindow alloc] initWithContentRect:windowFrame 
                                      styleMask: styleMask
                                        backing:NSBackingStoreBuffered 
                                          defer:NO];

и полноэкранное уведомление

(void)didExitFull:(NSNotification *)notification {
   NSUInteger styleMask=[window styleMask];
   [window setStyleMask:styleMask|NSMiniaturizableWindowMask];

}

Кажется, кнопка миниатюризации снова не активируется.Я также обнаружил проблемы с юзабилити этого пользовательского интерфейса в MacOSX 10.6 здесь

1 Ответ

2 голосов
/ 11 апреля 2012

Пожалуйста, переопределите следующую функцию

- (NSApplicationPresentationOptions) window:(NSWindow *)window willUseFullScreenPresentationOptions:(NSApplicationPresentationOptions)proposedOptions
{
    return (proposedOptions| NSApplicationPresentationAutoHideToolbar);
}

И не устанавливайте styleMask после выхода из полноэкранного режима. Пусть система сделает это.

...