NSWindow在Lion上失去了miniaturize按钮

时间:2011-10-25 11:06:00

标签: objective-c osx-lion nswindow minimize titlebar

进入/退出全屏时,我在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上发现了这个UI可用性问题here

1 个答案:

答案 0 :(得分:2)

请覆盖以下功能

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

不要在exitFullscreen之后设置styleMask。让系统做到。