カスタムイメージと代替イメージでCocoa Bevelボタンを作成すると、私は奇妙な動作をしています。押した状態でボタンの背景が白くなります。 透明なウィンドウ(HUDウィンドウ)のサブビューとしてボタンを追加しています。私が知っているすべての技術をしようとしているNSButtonの白い背景をクリックしたとき
:
NSButton *closeButton = [[NSButton alloc] initWithFrame:NSMakeRect(0.0, 0.0, 30.0, 30.0)];
[closeButton setFrameOrigin:NSMakePoint(0.0, 0.0)];
[closeButton setImagePosition:NSImageOnly];
[closeButton setAction:@selector(closeWindowAction:)];
[closeButton setBordered:NO];
[closeButton setTransparent:NO];
[closeButton setImage:[NSImage imageNamed:@"icon-tclose-off"]];
[closeButton setAlternateImage:[NSImage imageNamed:@"icon-tclose-on"]];
[closeButton setBezelStyle:NSShadowlessSquareBezelStyle];
[closeButton setButtonType:NSMomentaryLightButton];
//[[closeButton cell] setBackgroundColor:[NSColor clearColor]];
[[closeButton cell] setHighlightsBy:NSChangeBackgroundCellMask|NSCellLightsByContents];
//[[closeButton cell] setHighlightsBy:NSContentsCellMask];
//[[closeButton cell] setShowsStateBy:0|NSContentsCellMask];
は私も無い結果と
[closeButton setButtonType:NSMomentaryChangeButton];
[[closeButton cell] setHighlightsBy:NSContentsCellMask];
を試してみました。 HUDのウィンドウを重ね
ベベルボタン:あなたは、添付のスクリーンショットでは、間違った行動を見ることができます
間違っベベルボタンの背景:
このNSWindow myWindowはどちらがわかりませんか。それはボタンの容器ですか?この場合、コンテンツrectはNSRect rectと定義したものです。 – loretoparisi
今はっきりしていますか? –
素晴らしいですね! – loretoparisi