繁体   English   中英

在Dock和菜单之间设置OSX应用程序框架

[英]Set OSX application frame between dock and menu

我是Objective-c的新手,我不知道如何在菜单栏和Dock之间设置框架高度。 我对此有很多疑问,这是我的代码:

我创建了一个名为MainWindowControllerNSWindowController文件。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM