Set WKInterfacePicker color (text or outline)

后端 未结 2 531
猫巷女王i
猫巷女王i 2021-01-06 13:32

Does anyone know how to set the Text color or Focus Style Outline color of a WKInterfacePicker?

I don\'t see it Interface Builder, not am I able to find

2条回答
  •  隐瞒了意图╮
    2021-01-06 14:01

    You cannot change the color of the default picker.

    But you can manipulate the views to make it look like it without slowing down the app.

    I created this with 2 WKInterfaceGroup aligned vertically. The group on top has a WKInterfaceLabel for custom caption label, and the group below has a WKInterfacePicker. The WKInterfacePicker is configured as such:

    Style: List 
    Focus Style: None
    Indicator: Disabled 
    

    This will hide the default tint & caption so that we can create custom ones.

    In the WKInterfaceGroup for label, I set a corner radius and a background color. In the WKInterfaceGroup for picker, I set a background image, which is an image of a stroked rounded rect.

    I use pickerDidFocus and pickerDidResignFocus callbacks to change the background color of the WKInterfaceGroup for label, and background image for WKInterfaceGroup for picker.

    Use the picker action whenever the index changes, to update the custom action label.

    The result is a custom picker that looks exactly like the built-in WKInterfacePicker, but with a custom tint.

提交回复
热议问题