如何使用Xcode等蓝色色调绘制分段控件?

Mar*_*ark 5 xcode cocoa nssegmentedcontrol

我正在尝试重新创建Xcode中使用的分段控件,其中图像是用蓝色色调绘制的.

例如在Interface Builder中:

Interface Builder示例

到目前为止,我有一个自定义NSSegmentedCell覆盖- (void)drawSegment:(NSInteger)segment inFrame:(NSRect)frame withView:(NSView *)controlView,但我坚持如何绘制带有灰色色调的段图像(1)和(2)如果选择了蓝色色调.

此外,它看起来像是用边框或渐变效果绘制的.当我自己绘制段图像时,它只是黑色(因为我使用模板图像).

如何从上方重新创建片段?

l'L*_*L'l 10

分段控制 - 具有通态外观

使用NSSegmentedControl具有样式NSSegmentStyleTexturedRounded和模式的对象NSSegmentSwitchTrackingSelectAny.

  • 将分段控制对象放在工具栏或底栏中
  • 在检查器的"属性"窗格中,将样式设置为"纹理圆角",将模式设置为"选择任意".
  • 确保为控件提供图像(在Interface Builder中,从"属性"检查器的"图像"组合框中选择图像).

分段控制 - 状态外观


切换式工具栏按钮

单个按钮的实现方式与分段控件的方式略有不同:

  • 使用带有名称的图像IconTemplateTemplate附加到其(原始)名称的图像
  • 选择NSTexturedRoundedBezelStyle按钮样式

非分段工具栏按钮

↳例如.png,我的资源中有三个图像,使用圆形纹理按钮单元格样式的MiddlePanelIconTemplate.png,CardPanelIconTemplate.png和ReturnPanelIconTemplate.png.

⌘OSX 人机界面指南| 窗框控制