Cocoa 单击“无边框”按钮时,该按钮将变为灰色

Cocoa 单击“无边框”按钮时,该按钮将变为灰色,cocoa,user-interface,interface-builder,appkit,nsbutton,Cocoa,User Interface,Interface Builder,Appkit,Nsbutton,我正在制作一个小应用程序,有三个按钮和一个图像集。这些按钮没有边框也没有背景。然而,当我点击一个按钮时,它会变成一个灰色的矩形 我怎样才能解决这个问题?谢谢。您应该可以通过更改状态掩码来调整此设置。为此,请查看NSButtonCell的和属性-它们分别用于设置按压效果和显示效果。这些方法的适用常数在中。将按钮类型设置为nstemporationychangebutton [myBtn setButtonType:NSMomentaryChangeButton]; 如果使用NSInstantil

我正在制作一个小应用程序,有三个按钮和一个图像集。这些按钮没有边框也没有背景。然而,当我点击一个按钮时,它会变成一个灰色的矩形


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

您应该可以通过更改状态掩码来调整此设置。为此,请查看
NSButtonCell
的和属性-它们分别用于设置按压效果和显示效果。这些方法的适用常数在中。

将按钮类型设置为
nstemporationychangebutton

[myBtn setButtonType:NSMomentaryChangeButton];

如果使用NSInstantilyPushInButton,则单击时按钮上方可能会出现灰色矩形。

如果使用的是NSBox,请确保按钮位于层次结构中NSBox的内部。然后使用“瞬时推入”作为按钮类型。单击按钮时,按钮将变暗,但没有边框


当我在同一层次结构级别上使用NSBox和NSButton时,单击时会看到边框

我找了很长时间的旗帜。以下是作为附录的解决方案(非常感谢Sean Rich的帮助):[self.button.cell setShowsStateBy:NSPushInCellMask];[self.button.cell设置highlightsby:NSContentsCellMask];如果您同时更改两个遮罩,则只显示IB中指定的图形。还有什么?你能再补充一些信息吗。检查此项以及如何给出正确答案。编辑我的答案。没有什么比这更重要的了。这对我不起作用,相反@Sean的答案目前正朝着正确的方向发展。如果它对你不起作用,你不必投反对票。这个问题有50张赞成票,这意味着它对50多人来说效果很好。这是一个4年前的答案,现在可能有不同的解决方案。您可以更新此答案或发布新答案。仅供参考,NSButtonTypeMomentaryChange按钮现在已被弃用,并被NSButtonTypeMomentaryChange取代。