NSButton белый фон при нажатии

При создании кнопки со скосом какао с настраиваемым изображением и альтернативным изображением у меня странное поведение. В нажатом состоянии фон кнопки становится белым. Я добавляю кнопку как часть прозрачного окна (окно HUD).

Я пробую все известные мне техники:

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:
Bevel button overlaying a HUD window

Неправильный фон кнопки скоса:
Wrong Bevel button background

8
задан Nightfirecat 16 October 2011 в 19:40
поделиться