答案 0 :(得分:5)
您无法更改默认选择器的颜色。
我用2 WKInterfaceGroup
垂直对齐创建了这个。顶部的群组有自定义标题标签WKInterfaceLabel
,下面的群组有WKInterfacePicker
。 WKInterfacePicker
配置如下:
Style: List
Focus Style: None
Indicator: Disabled
这将隐藏默认色调&标题,以便我们可以创建自定义的标题。
在WKInterfaceGroup
标签中,我设置了圆角半径和背景颜色。在WKInterfaceGroup
for picker中,我设置了一个背景图像,这是一个描边圆角矩形的图像。
我使用pickerDidFocus
和pickerDidResignFocus
回调来更改标签WKInterfaceGroup
的背景颜色,以及选择器WKInterfaceGroup
的背景图片。
每当索引更改时使用picker action
,以更新自定义操作标签。
结果是一个自定义选择器,看起来与内置WKInterfacePicker
完全相同,但具有自定义色调。
答案 1 :(得分:1)
实际上,选择的答案对我不起作用(WatchOS 5、6),可能是因为我并排有两个WKInterfacePicker对象。选择器会耗尽周围组中的所有空间,因此背景(颜色或图像)是完全不可见的。
但是,基于@honcheng的答案,我发现了一个“变通方法”,它创建了“自定义颜色”选择指示器。但这看起来与原始版本不完全一样。
这就是最终选择指示器的外观
[a]:不幸的是,WKInterfacePicker对象本身没有角半径,但是是一个尖锐的矩形,因此,如果您希望有一个完整的矩形作为焦点指示器,则选择器将绘制圆角。为避免这种情况,必须去除拐角半径。我决定改为创建顶部/底部指示器。该图显示了一个小的“毛刺”,拐角半径干扰了焦点指示(线条的左侧)。如上所述,将所有转角半径设置为“ 0”时,可以消除此故障。
[b]:(1、0、1、0)在顶部和底部创建一个像素插入,当然,也可以是一个完整的矩形(1、1、1、1)。
[c]:当然,任何颜色(甚至是背景图像)都是可以的。
“小故障”和“ cornerRadius”未设置为“ 0”