WKInterfacePicker pickerAction sometimes return wrong value?

When using WKInterfaceController, the pickerAction sometimes return wrong value (either previous or next value). Anybody else encountered this?


I have a screenshot of a label showing the value returned in pickerAction and what is shown on the picker, but not sure how to upload to Apple Developer Forums.

Replies

I have the same issue as yours. It looks like that the digital crown have to be turned a littlebit further to get the correct value.

I believe apple will fix this in the final build

When you spin the crown quickly, the watch will not invoke the pickerAction fast enough, so some of the values will be skipped. Normally, that does not cause any problem, but sometimes, when the crown is stopped at a value that has skipped, then you do not have the current displayed value. The solution is simply read the current value when you needed.


Howver, I cannot figure out how to read the current index of the selected value of the picker. Anyone knows how?

I am having the same issue. Spend a day on it already. I hope Apple fix this soon.

Also having the same problem. Found that when the value is linked to a WKInterfaceImage' change of image, the behavior is even worse.


It will be great to have te ability of getting the current selected item.

In my testing, if you put in a standard sized (height 100) WKInterfacePicker in a storyboard, and hook up an IBAction and IBOutlet to it, everything works as expected.


If you make any changes to the size of the picker (try setting height to 50 for example), wierd stuff happens when you try and run the app, and the wierd stuff seems to include more than just the IBAction not getting called properly when you scroll fast. Filed a bug report about this (21754916). I'm guessing I'm not the only person who would like to use a picker sized to something other then the stock value of 100.