我正在尝试重新创建Xcode中使用的分段控件,其中图像是用蓝色色调绘制的。
例如在Interface Builder中:
到目前为止,我有一个自定义NSSegmentedCell
覆盖- (void)drawSegment:(NSInteger)segment inFrame:(NSRect)frame withView:(NSView *)controlView
,但我仍然坚持如何用灰色色调绘制段图像(1),如果是蓝色色调则用蓝色色调绘制(2)被选中。
此外,看起来图像是使用边框或渐变效果绘制的。当我自己绘制段图像时,它只是黑色(因为我使用模板图像)。
如何从上方重新创建片段?
答案 0 :(得分:10)
使用样式为NSSegmentedControl
的{{1}}对象和模式NSSegmentStyleTexturedRounded
。
单个按钮的实现方式与分段控件的方式略有不同:
NSSegmentSwitchTrackingSelectAny
或IconTemplate
附加到其(原始)名称的图片Template
按钮样式
↳例如,我的资源中有三个NSTexturedRoundedBezelStyle
图像,使用圆形纹理按钮单元格样式的MiddlePanelIconTemplate.png,CardPanelIconTemplate.png和ReturnPanelIconTemplate.png。
答案 1 :(得分:3)
我提供的答案对我来说没问题,但是将IconTemplate附加到你的图像名称上它不再适用于Xcode 7.3。而不是那样,你必须转到你的资产目录,选择你想要使用的图像,在右边的面板上你必须选择属性检查器,然后在组合中选择'渲染为'选择模板图像'。
答案 2 :(得分:0)
要在开启时使用蓝色色调以编程方式(macOS 10.13 / Xcode 9)创建Content-type(key) application/json (value)
Content-type(key) application/xml (value)
,而不是在关闭时(如Xcode工具栏中的某些按钮),我执行以下操作: