[英]Set OSX application frame between dock and menu
我是Objective-c的新手,我不知道如何在菜单栏和Dock之间设置框架高度。 我对此有很多疑问,这是我的代码:
我创建了一个名为MainWindowController
的NSWindowController
文件。
MainWindowController.m
#import "MainWindowController.h"
@interface MainWindowController ()
@end
@implementation MainWindowController
- (void)windowDidLoad {
[super windowDidLoad];
int screenWidth = [NSScreen mainScreen].frame.size.width;
int screenHeight = [NSScreen mainScreen].frame.size.height;
[self.window setFrame:NSMakeRect(0, 0, screenWidth, screenHeight) display:YES];
[self.window setContentSize:NSMakeSize(screenWidth, screenHeight)];
[self.window setContentMaxSize:NSMakeSize(screenWidth, screenHeight - self.window.dockTile.size.height)];
[self.window setContentMinSize:NSMakeSize(screenWidth, screenHeight - self.window.dockTile.size.height)];
[self.window setMaxFullScreenContentSize:NSMakeSize(screenWidth, screenHeight - self.window.dockTile.size.height)];
[self.window setMinFullScreenContentSize:NSMakeSize(screenWidth, screenHeight - self.window.dockTile.size.height)];
[self.window toggleFullScreen:self];
// Set Title Bar
self.window.titlebarAppearsTransparent = YES;
self.window.styleMask |= NSWindowStyleMaskFullSizeContentView;
}
@end
但结果如下: 在此处输入图片描述
如何将框架设置在扩展坞之外?
对于屏幕尺寸,请在通过+[NSScreen mainScreen]
或-[NSWindow screen]
接收到的实例上使用-[NSScreen frame]
-[NSWindow screen]
。
要获得没有停靠栏和菜单栏的可见部分,请使用-[NSScreen visibleFrame]
。
请记住,完整的桌面可以覆盖多个屏幕。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.