Quando si crea un pulsante di smussatura Cocoa con un'immagine personalizzata e un'immagine alternativa, sto avendo uno strano comportamento. Nello stato premuto lo sfondo del pulsante diventa bianco. Sto aggiungendo il pulsante come sottoview di una finestra trasparente (finestra HUD).NSButton sfondo bianco quando si fa clic su
sto cercando ogni tecnica che conosco:
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];
Ho anche provato
[closeButton setButtonType:NSMomentaryChangeButton];
[[closeButton cell] setHighlightsBy:NSContentsCellMask];
senza risultati.
È possibile vedere il comportamento sbagliato negli screenshot allegate:
pulsante Bevel sovrapponendo una finestra HUD:
sbagliato pulsante smussatura sfondo: pulsante
Non mi è chiaro qual è questa NSWindow myWindow. È il contenitore del pulsante? In questo caso il suo contenuto rect è definito come NSRect rect? – loretoparisi
è chiaro ora? –
Sembra fantastico! – loretoparisi