当我使用带有样式' Round Rect'的NSButton时,键入' Toggle'当状态设置为开启时,图像和图像将以蓝色很好地呈现。
然而,当我还添加一个替代图像时,这个高光效果消失了。
有没有一种简单的方法可以解决这个问题?
我希望获得与Xcode中Inspector顶部的小标签栏图标相同的效果:选中时为蓝色,使用备用图像(稍大胆),未选中时为黑色,使用默认图像。
答案 0 :(得分:0)
这是预期的行为。如果您不提供自己的备用(活动/点亮/开启)版本,系统仅转换您的模板以应用视觉突出显示。
答案 1 :(得分:0)
在等待更优雅的解决方案时,我正在使用此解决方法:
-(IBAction)handleClick:(id)sender
{
NSButton *button = sender;
button.image = [NSImage imageNamed:[button.identifier stringByAppendingString:button.state == NSOnState ? @"On" : @""]];
}
我在标准图像和备用图像之间切换代码,使用控件的标识符作为图像的基本名称。有点难看,但它的确有效。当处于“开启”状态时,按钮上的图像现在呈蓝色突出显示,同时显示(略微更粗)的交替图像。
答案 2 :(得分:0)
要不使用备用图像并在ON时使用蓝色色调获取NSButton(macOS 10.13),而不像Xcode工具栏中的某些按钮那样使用OFF,我必须执行以下操作:
我还在状态按钮动作处理程序中更改controlTint。