【问题标题】:Xcode fullscreen window without titlebarXcode全屏窗口没有标题栏
【发布时间】:2011-07-20 16:20:52
【问题描述】:
我想创建一个全屏应用程序 (mac),但即使我的窗口是全屏的;
[window setFrame:[window frameRectForContentRect:[[window screen] frame]]display:YES animate:YES];
我无法摆脱标题栏?您可以更改上面的代码以使窗口没有标题栏,还是必须完全不同?谢谢:)
【问题讨论】:
标签:
objective-c
xcode
macos
window
titlebar
【解决方案1】:
CocoaWithLove 有一篇关于它的好文章:
http://cocoawithlove.com/2009/08/animating-window-to-fullscreen-on-mac.html
fullscreenWindow = [[FullscreenWindow alloc]
initWithContentRect:[mainWindow contentRectForFrameRect:[mainWindow frame]]
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:YES
screen:[mainWindow screen]];
[fullscreenWindow setLevel:NSFloatingWindowLevel];
[fullscreenWindow setContentView:[mainWindow contentView]];
[fullscreenWindow setTitle:[mainWindow title]];
[fullscreenWindow makeKeyAndOrderFront:nil];
【解决方案2】:
我使用窗口级别 NSScreenSaverWindowLevel 成功地将窗口放置在标题栏上,而不是 Macmade 的答案中建议的 NSFloatingWindowLevel。
fullscreenWindow = [[NSWindow alloc]
initWithContentRect:[[NSScreen mainScreen] frame]
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:YES];
[fullscreenWindow setLevel:NSScreenSaverWindowLevel];
// Perform further configuration here, e.g. setTitle, setBackgroundColor etc.
[fullscreenWindow makeKeyAndOrderFront:nil];