У меня есть UIPickerView
с несколькими компонентами. Некоторые значения выделены серым цветом, и мой pickerView:didSelectRow:inComponent
по достоинству оценит это, переместив соответствующий компонент-подборщик до ближайшего действительного значения, так как UIDatePicker
перемещается с «30» до «28» при выборе «Февраль». Затем он вызывает метод делегата для объявления скорректированного значения.UIPickerView selectedRowInComponent: возвращает устаревшие данные после его настройки
Когда мой метод настройки вызывает мой UIPickerView
selectRow:inComponent:animated:YES
, значение на экране верное, но значения от selectedRowInComponent:
являются устаревшими (от до корректировки для значений серого). Однако, если я вызываю selectRow:inComponent:animated:NO
, возвращаемые значения верны, но отсутствие анимации сотрясается.
Я попытался обертывание регулировки в блоке beginAnimations:
/commitAnimations
и ловить значения в UIView
«s +animationDidStopSelector
, но я все еще получаю устаревшие значения. Кто-нибудь сталкивался с этим раньше?
Проблема легко дублировать.
[picker selectRow:newValue inComponent:i+offset animated:YES];
retValue = [picker selectedRowInComponent:i+offset];
Если у вас есть ДА, чтобы оживить его, тогда retValue будет 0 на виду (вы называете его устаревшим). При изменении NO, retValue будет таким же, как newValue.