当用自定义图像和替代图像创建Cocoa斜角按钮时,我有一个奇怪的行为。在按下状态下,按钮背景变成白色。 我将该按钮添加为透明窗口(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。它是按钮容器吗?在这种情况下,它的内容矩形是你定义的NSRect矩形? – loretoparisi
现在清楚了吗? –
听起来不错! – loretoparisi