0

OK、これが私がやろうとしていることです:

  • カスタム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 に答える