Существует метод UIPickerViewDelegate, который в основном запускается при каждой прокрутке средства выбора
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
Установите делегат для вашего средства выбора, реализуйте этот метод и посмотрите, что произойдет ...
[РЕДАКТИРОВАТЬ] Хорошо, теперь я понимаю, что вам нужно.Реализуйте таймер, который проверяет состояние средства выбора.
checkTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(checkPicker) userInfo:nil repeats:YES];
в приведенном выше методе делегата сохраните время последнего перемещения средства выбора.
lastPickerDate = [[NSDate date] retain];
в методе checkPicker проверьте, сколько времени прошло с момента последнего перемещения
NSTimeInterval timeSinceMove = -[lastPickerDate timeIntervalSinceNow];
если timeSinceMove больше, чем какое-либо желаемое значение, например, 0,5 секунды, установите для вашего BOOL pickerMoving значение false.иначе установите его в true.Это не самый точный метод проверки движения, но я думаю, что он должен выполнять свою работу ...