如何设置 NSSegmentedControl 的外观以匹配 Xcode 中的一个?
How can I set the appearance of my NSSegmentedControl to match the one of Xcode?
在 Xcode 上,右上角的按钮看起来像这样,具体取决于它们的选择状态:
我尝试复制它并在我的 NSSegmentedControl 中设置图像,但我只得到这个
我玩过 segButtons.selectedSegmentBezelColor = [NSColor selectedControlColor];
或
segButtons.highlighted = YES;
但没有匹配。我在代码或检查器中找不到任何其他 "color" 属性。
我正在寻找一种既适用于深色模式又适用于浅色模式的解决方案。
提前致谢!
编辑:
使用模板时:它更近了一步!但仍然不是蓝色(即使在尝试 selectedSegmentBezelColor
时)。不过已经好多了
在屏幕右侧的“属性”面板中,当您 select 分段控件(在故事板中)时,在靠近顶部的位置显示 "Selected Tint." 这就是您要查找的内容。将其更改为您想要的任何颜色。
答案是@Willeke 和我的混合(但感谢大家的参与,它帮助我没有放弃)。
图像必须标记为 template
(UI 似乎不可能)并将分段样式标记为自动(或 TexturedSquare 或其他一些选项,但不是全部)。 UI 提供了一些选项,但不是自动的...
-(void)windowDidLoad {
[_segmentedCtrl imageForSegment:2].template = YES;
_segmentedCtrl.segmentStyle = NSSegmentStyleAutomatic;
}
在 Xcode 上,右上角的按钮看起来像这样,具体取决于它们的选择状态:
我尝试复制它并在我的 NSSegmentedControl 中设置图像,但我只得到这个
我玩过 segButtons.selectedSegmentBezelColor = [NSColor selectedControlColor];
或
segButtons.highlighted = YES;
但没有匹配。我在代码或检查器中找不到任何其他 "color" 属性。
我正在寻找一种既适用于深色模式又适用于浅色模式的解决方案。 提前致谢!
编辑:
使用模板时:它更近了一步!但仍然不是蓝色(即使在尝试 selectedSegmentBezelColor
时)。不过已经好多了
在屏幕右侧的“属性”面板中,当您 select 分段控件(在故事板中)时,在靠近顶部的位置显示 "Selected Tint." 这就是您要查找的内容。将其更改为您想要的任何颜色。
答案是@Willeke 和我的混合(但感谢大家的参与,它帮助我没有放弃)。
图像必须标记为 template
(UI 似乎不可能)并将分段样式标记为自动(或 TexturedSquare 或其他一些选项,但不是全部)。 UI 提供了一些选项,但不是自动的...
-(void)windowDidLoad {
[_segmentedCtrl imageForSegment:2].template = YES;
_segmentedCtrl.segmentStyle = NSSegmentStyleAutomatic;
}