Birden çok bileşenle bir UIPickerView
sahibim. Bazı değerler grileştirilmiş ve pickerView:didSelectRow:inComponent
benim buna "Seçici" seçildiğinde, UIDatePicker
UIDatePicker
"30" den "28" 'e geçerek söz konusu seçici bileşenini en yakın geçerli değere kaydırarak onurlandırır. Ardından ayarlanan değeri bildirmek için bir temsilci yöntemini çağırır.UIPickerView selectedRowInComponent: kod ayarlandıktan sonra eski verileri döndürür
zaman ayarlayıcı yöntem, benim UIPickerView
sitesindeki selectRow:inComponent:animated:YES
ekranda değer doğru aradığında, ancak selectedRowInComponent:
elde edilen değerler (gri değerler için ayarlama önce gelen) bayat. Ancak, selectRow:inComponent:animated:NO
'u çağırırsam, döndürülen değerler doğrudur, ancak animasyonun olmaması sarsıntıdır.
Ben beginAnimations:
/commitAnimations
bloğunda ayarlama sarma ve UIView
'ın +animationDidStopSelector
değerleri yakalamak denedim ama hâlâ eski değerleri olsun. Daha önce birisi bunun üzerinde çalıştı mı?
Sorun, çoğaltılması kolaydır.
[picker selectRow:newValue inComponent:i+offset animated:YES];
retValue = [picker selectedRowInComponent:i+offset];
bunu animasyonlu EVET varsa, o retValue aklında 0'dır (eğer bayat diyoruz). NO olarak değiştirilirse, retValue yeniValue ile aynı olacaktır.