如何将NSSegmentedControl的外观设置为与Xcode的外观匹配?

如何将NSSegmentedControl的外观设置为与Xcode的外观匹配?,xcode,cocoa,appearance,nssegmentedcontrol,Xcode,Cocoa,Appearance,Nssegmentedcontrol,在Xcode上,右上角的按钮如下所示,具体取决于它们的选定状态: 我尝试复制它并在NSSegmentedControl中设置图像,但我只得到了这个 我玩过segButtons.selectedSegmentBezelColor=[NSColor selectedControlColor]或 segButtons.highlighted=是但没有匹配项。我在代码或检查器中找不到任何其他“颜色”属性 我正在寻找一个解决方案,将工作在黑暗或光明的模式。 提前谢谢 编辑: 当使用模板时:它更近了一步

在Xcode上,右上角的按钮如下所示,具体取决于它们的选定状态:

我尝试复制它并在NSSegmentedControl中设置图像,但我只得到了这个

我玩过
segButtons.selectedSegmentBezelColor=[NSColor selectedControlColor]

segButtons.highlighted=是但没有匹配项。我在代码或检查器中找不到任何其他“颜色”属性

我正在寻找一个解决方案,将工作在黑暗或光明的模式。 提前谢谢

编辑:

当使用模板时:它更近了一步!但仍然不是蓝色(即使尝试
selectedSegmentBezelColor
)。不过已经好多了



在屏幕右侧的属性面板中,当您选择分段控件(在情节提要中)时,顶部附近会显示“选定的色调”。这就是您要查找的内容。把它换成你想要的任何颜色

答案是@Willeke和我的混合(但多亏了大家的参与,它帮助我不放弃)

必须将图像标记为
模板
(这在UI中似乎不可能),并将分段样式标记为自动(或TexturedSquare或其他一些选项,但不是全部)。有些选项可从UI获得,但不是自动的

-(void)windowDidLoad {
    [_segmentedCtrl imageForSegment:2].template = YES;
    _segmentedCtrl.segmentStyle = NSSegmentStyleAutomatic;
}

选择一个还是选择任何一个?这些图像是模板吗?@Willeke这些图像是我的(我实际上是从xcode偷来的)。这是Select Any我记得几年前看过一些文档,关于如果您的图像都是黑白的,Cocoa会自动“知道”将它们涂成白色或蓝色,或者…尝试模板图像,请参阅和“使用此方法请求的图像,其名称以单词“template”结尾的图像会自动标记为模板图像。”@威勒克,谢谢!更新的问题,看起来更好,但仍然没有蓝色…嗨,谢谢你的答案,但我找不到它。我在api中找不到“色调”或任何类似的东西。请注意,我说的是NSSegmented…,而不是UISegmented。。。(似乎有)