【发布时间】:2012-10-31 14:02:02
【问题描述】:
好的,这就是我想要做的:
- 我有一个自定义的
NSPanel子类 - 我希望
NSPanel是无边界的(没有标题 - 我正在自己绘制标题栏)并且可以调整大小
事情是这样的:
- 将
styleMask设置为NSResizableWindowMask后,默认标题栏也会出现。 - 一旦我将
styleMask设置为NSBorderlessWindowMask,默认标题栏就会消失(这很好),但窗口会失去调整大小的能力。
这是我的代码:
- (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;
}
正如您从注释掉的代码中看到的那样,我尝试使用任何可能的位操作与掩码组合,以便组合我需要的内容。
有什么想法吗??
【问题讨论】:
标签: objective-c macos cocoa nspanel