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

例如在Interface Builder中:

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

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

如何从上方重新创建分割?

最佳答案

分段控制-具有打开状态的外观

NSSegmentedControl对象与NSSegmentStyleTexturedRounded样式和NSSegmentSwitchTrackingSelectAny模式一起使用。

  • 将分段控件对象放置在工具栏或底部栏中
  • 在检查器的“属性” Pane 中,将样式设置为“圆角纹理化”,并将模式设置为“选择任意”。
  • 确保为控件提供图像(在Interface Builder中,从“属性”检查器的“图像”组合框中选择一个图像)。



  • 切换样式工具栏按钮

    单个按钮的实现方式与分段控件的实现方式略有不同:
  • 使用在其(原始)名称
  • 后面附加名称IconTemplateTemplate的图像
  • 选择NSTexturedRoundedBezelStyle按钮样式


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

    oji OS X Human Interface Guidelines | Window-Frame Controls

    关于xcode - 如何绘制带有类似Xcode的蓝色调的分段控件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24927874/

    10-13 05:58