Since animationKeys doesn't seem to work anymore, I have another solution. If you check the subviews of the UIPickerView , you will see that for each component there is a UIPickerTableView .
This UIPickerTableView indeed a subclass of UITableView and, of course, UIScrollView . Therefore, you can check its contentOffset value to detect the difference.
Also, its scrollViewDelegate is zero by default, so I assume that you can safely set your object to detect scrollViewWillBeginDragging , scrollViewDidEndDecelerating , etc.
By keeping a reference to each UIPickerTableView , you should be able to implement an effective isWheelRolling method.
source share