0

好的,这就是我想要做的:

  • 我有一个自定义NSPanel子类
  • 我希望它NSPanel是无边界的(没有标题 - 我自己在画一个标题栏)并且可以调整大小

事情是这样的:

  • 一旦我设置styleMaskNSResizableWindowMask,默认标题栏也会出现。
  • 一旦我将其设置styleMaskNSBorderlessWindowMask,默认标题栏就会消失(这很好),但窗口会失去调整大小的能力。

这是我的代码:

- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
{
    if ((self = [super initWithContentRect:contentRect styleMask:NSTitledWindowMask backing:bufferingType defer:deferCreation])) {
        [self setOpaque:NO];
        [self setBackgroundColor:[NSColor clearColor]];
        [self setMovableByWindowBackground:YES];
        [self setLevel:NSFloatingWindowLevel];
        //[self setStyleMask:[self styleMask]&~NSTitledWindowMask];
    }
    return self;
}

正如您从注释掉的代码中看到的那样,我尝试使用任何可能的位操作组合与掩码,以便组合我需要的东西。

有任何想法吗??

4

1 回答 1

0

在这样的时间做它们

styleMask:NSTitledWindowMask | NSResizableWindowMask 
于 2012-11-27T00:03:50.573 回答