Question

I am making a little application with three NSButtons with an image set. These buttons have no border nor background. However, when I click a button it turns into a gray rectangle.

How can I fix this? Thanks.

Was it helpful?

Solution

Make your button type as NSMomentaryChangeButton.

[myBtn setButtonType:NSMomentaryChangeButton];

If you use NSMomentaryPushInButton then you may get gray rectangle over the button when click.

OTHER TIPS

You should be able to adjust this by changing the state mask. To do so, check out the highlightsBy: and showsStateBy: properties of NSButtonCell - they are for setting the press effect and displaying the effect respectively. The applicable constants for these methods are in the NSCell reference page.

If you are using an NSBox, make sure your button inside of NSBox in the hierarchy. Then use 'momentary push in' as your button type. The button will dim when clicked but there will be no border.

When I used NSBox with NSButton on the same hierarchy level, I would see the border when clicked.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top