Wpadłem w dziwny efekt, który z pewnością wygląda jak błąd w iOS7 - ale często w przeszłości, kiedy pomyślałem, że znalazłem błąd w API Apple'a, okazało się, że jest to mój własne nieporozumienie.Błąd UIDatePicker? UIControlEventValueChanged po trafieniu minimalnym wewnętrznym
Mam UIDatePicker z datePickerMode = UIDatePickerModeCountDownTimer i minuteInterval = 5. Inicjuję czas trwania do 1 godziny i prezentuję go użytkownikowi, gdzie pojawia się on jako dwukolumnowy selektor z godzinami i minutami. (Do tej pory tak dobrze.)
Użytkownik myśli "20 minut", a więc przewija kolumnę Godzina do 0. W tym momencie selektor odczytuje 0 godzin i 0 minut, a iOS7 nie jest z tym fajny, więc automatycznie przewija minutę do 5. Mój uchwyt UIControlEventValueChanged zostaje wywołany, a countDownDuration odczytuje 5 minut. (Nadal dobrze.)
Teraz użytkownik chwyta kółko minut i przeciąga je do 20. AND ... moja obsługa UIControlEventValueChanged nie zostaje wywołana. (Zły.)
Jeśli mam jakieś inne zdarzenie w interfejsie użytkownika, sprawdź selektor daty w tym miejscu, widzę, że countDownDuration jest ustawione na 20. Ale nie mogłem wiedzieć, że użytkownik zmienił go, moment został zmieniony. Jest to bardzo powtarzalne: zawsze dzieje się to przy pierwszej zmianie PO próbie wyboru zbieracza na 0 (przesuwanie do 5 minut).
Należy zauważyć, że jest to na iOS7; nie występuje w iOS6 (być może dlatego, że selektor jest ustawiony na 0 minut).
Więc ... czy coś tu brakuje? Czy jest to prawdziwy błąd w iOS7? A w tym drugim przypadku, czy ktokolwiek zna się na pracy lepiej niż posiadanie jakiegoś zegara okresowo sprawdzającego bieżący czas?
powielana. Wygląda mi na błąd. – Kevin