【发布时间】:2020-09-27 14:10:00
【问题描述】:
我的 Mac 应用程序使用没有标题栏的浮动窗口,可以通过拖动来移动。
NSRect frame = NSMakeRect(500, 950, 600, 100);
self.lbWindow = [[lbCustomWindow alloc] initWithContentRect:frame
styleMask:NSWindowStyleMaskBorderless
backing:NSBackingStoreBuffered
defer:NO];
[self.lbWindow setOpaque:NO];
[self.lbWindow setBackgroundColor:[NSColor clearColor]];
[self.lbWindow setHasShadow:YES];
[self.lbWindow setReleasedWhenClosed:FALSE];
但是,这个窗口不能被放置(例如在那个位置创建),或移动(通过拖动)到顶部菜单栏的正下方,它只能到达它下面大约 30px - 它正好是普通窗口标题栏 - 基本上,窗口似乎受到垂直限制好像窗口有一个标题栏。
(Y 坐标“950”是我可以放置窗口的最高值,导致下图。)
我希望它看起来好像没有标题栏,并且能够将它放置在窗口的顶部边缘就在菜单栏的下方。
(我没有包含自定义窗口的实现,但是除了拖动支持之外并没有太多的东西——而且它不是导致约束的拖动,当您最初以编程方式定位窗口时仍然适用。)
想法?
【问题讨论】: