Проблеми с UIDatePicker в изскачащи съобщения на iOS 8

Някой друг има ли проблеми с UIDatePickers в изскачащи съобщения на iOS 8? Изведнъж нашите средства за избор на дати не се показват правилно (вижте екранната снимка). Изглежда, че част от инструмента за избор не се показва (все пак можете да взаимодействате с липсващата част, за да промените часа).

Направих някои тестове и инструментите за избор на дата се показват перфектно в други изгледи, така че това е нещо, свързано или с изскачащи екрани, или с показване на инструментите за избор в изглед, който не е на цял екран.

Някой намирал ли е решение или заобиколно решение за тези проблеми?

Проблеми с UIDatePicker в изскачащи прозорци на iOS 8


person Jeremy    schedule 18.09.2014    source източник
comment
освен това е не само за изскачане, но и за изглед на маса.   -  person Igor Konoplyanko    schedule 30.09.2014


Отговори (1)


Намерих решение във форумите за разработчици на Apple (моята резервна база от знания, когато Stack Overflow ме провали).

Потребителят Natsu имаше следното решение:

Имам същия проблем в моя проект. И причинява само на iPad устройства (iPhone няма проблем със същия код). Доколкото разбирам, UIDatePicker съдържа UITableView и UITableViewCell за показване на съдържанието на инструмента за избор и неговият фонов цвят е зададен бял по подразбиране. Това е причината за този проблем. iOS 7 има UITableViewCell с бял фон в UIDatePicker iOS 8 има UITableView с бял фон в UIDatePicker Така че моето решение е да настроя тези фонови цветове на нула, като използвам UIAppearance по този начин:

[[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

Стойностите, които задавам, са цветът, използван на iPhone. Не съм сигурен, че това е правилният начин за отстраняване на проблема. Но поне в моята среда работи добре. Не знам дали проблемът с UIPickerView се дължи на същата причина. Но проверката на йерархията на изгледите може да ви помогне.

Тъй като това използва UIAppearance, можете да го поставите почти навсякъде. Сложих го в awakeFromNib в класа на клетката на моята таблица и той работи като чар. Благодаря Нацу!

person Jeremy    schedule 18.09.2014
comment
страхотно. работи като чар! благодаря ви, че докарахте това до SO :) - person Igor Konoplyanko; 30.09.2014
comment
Някаква идея как да поправя този проблем бързо? - person Marcus Gabilheri; 06.10.2015