2014-09-18 20 views
10

Czy ktoś ma problemy z UIDatePickers w popover na iOS 8? Nagle nasze selektory dat nie wyświetlają się poprawnie (patrz zrzut ekranu). Wygląda na to, że część selektora nie jest wyświetlana (mimo, że możesz nadal korzystać z brakującej części, aby zmienić czas).Problemy z UIDatePicker w popover na iOS 8

Zrobiłem kilka testów, a zbieracze dat wyświetlały się perfekcyjnie w innych widokach, więc jest to coś związanego z popoverami lub wyświetlanie zbieraczy w widoku, który nie jest pełny.

Czy ktoś znalazł poprawkę lub obejście tego problemu?

UIDatePicker issues in popovers on iOS 8

+0

to także nie tylko popover, ale także tableview. –

Odpowiedz

20

znalazłem rozwiązanie na forum programistów Apple (mój backup bazy wiedzy kiedy przepełnienie stosu nie mnie).

użytkownika Natsu miał następujące rozwiązanie:

Mam ten sam problem w moim projekcie. I powoduje to tylko na urządzeniach iPad (iPhone nie ma problemu z tym samym kodem). Zgodnie z moim rozumowaniem, UIDatePicker zawiera UITableView i UITableViewCell do wyświetlania zawartości selektora i jego kolor tła jest ustawiony jako biały. To jest przyczyną tego problemu. iOS 7 ma UITableViewCell białą tle w UIDatePicker iOS 8 ma UITableView z białym tłem w UIDatePicker Więc moje rozwiązanie jest to, że mogę ustawić te kolor tła do zera za pomocą UIAppearance tak:

[[UITableView appearanceWhenContainedIn:[UIDatePicker class], nil] setBackgroundColor:nil]; // for iOS 8 
[[UITableViewCell appearanceWhenContainedIn:[UIDatePicker class], [UITableView class], nil] setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.0]]; // for iOS 7 

Ustawione wartości to kolor używany na telefonie iPhone. Nie jestem pewien, czy jest to poprawny sposób naprawienia problemu. Ale przynajmniej w moim środowisku działa dobrze. Nie wiem, czy problem UIPickerView powoduje ten sam powód. Ale może ci pomóc sprawdzanie hierarchii widoków.

Ponieważ to wykorzystuje UIAppearance, możesz umieścić go niemal w dowolnym miejscu. Włożyłem go w awakeFromNib w mojej klasie komórek stołowych i działało jak czar. Dzięki Natsu!

+0

niesamowite. działa jak urok! dziękuję ci za to SO :) –

+0

Dzięki za pracę dla mnie ...... :) – Leena

+0

Pracowałem też dla mnie - dzięki! – Luke