无边框NSButton在单击时变为灰色

31 user-interface cocoa interface-builder appkit nsbutton

我正在用一个带有图像集的三个NSButton做一个小应用程序.这些按钮没有边框也没有背景.但是,当我单击一个按钮时,它变成一个灰色矩形.

我怎样才能解决这个问题?谢谢.

Ram*_*j T 71

将您的按钮类型设为NSMomentaryChangeButton.

[myBtn setButtonType:NSMomentaryChangeButton];
Run Code Online (Sandbox Code Playgroud)

如果您使用NSMomentaryPushInButton,则单击时可能会在按钮上显示灰色矩形.


小智 14

您应该可以通过更改状态掩码来调整此值.要做到这一点,检查出highlightsBy:showsStateBy:性质NSButtonCell-它们是用于设置按效果分别显示效果.这些方法的适用常量位于NSCell参考页面中.

  • 我在寻找旗帜的时间很长.所以这里是作为附录的解决方案(对于Sean Rich来说非常有用这个帮助):[self.button.cell setShowsStateBy:NSPushInCellMask]; [self.button.cell setHighlightsBy:NSContentsCellMask]; 如果您更改BOTH蒙版,则只会显示您在IB中指定的图形. (5认同)