首页 > 解决方案 > 如何设置我的 NSSegmentedControl 的外观以匹配 Xcode 之一?

问题描述

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

Xcode暗模式

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

在此处输入图像描述

我玩过segButtons.selectedSegmentBezelColor = [NSColor selectedControlColor]; segButtons.highlighted = YES;但没有匹配。我在代码或检查器中找不到任何其他“颜色”属性。

我正在寻找一种既适用于深色模式又适用于浅色模式的解决方案。提前致谢!

编辑:

使用模板时:它更近了一步!但仍然不是蓝色(即使尝试selectedSegmentBezelColor)。不过已经好多了 在此处输入图像描述


标签: xcodecocoaappearancenssegmentedcontrol

解决方案


答案是@Willeke 和我的混合(但感谢每个人的加入,它帮助我不放弃)。

必须将图像标记为template(从 UI 中似乎不可能)并将分段样式标记为自动(或 TexturedSquare 或其他一些选项,但不是全部)。UI 中提供了一些选项,但不是自动的...

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

推荐阅读