Проблемы с UIDatePicker в popovers на iOS 8

Есть ли у кого-нибудь проблемы с UIDatePickers в popovers на iOS 8? Внезапно наши сборщики дат не отображаются правильно (см. Скриншот). Похоже, что часть сборщика не отображается (хотя вы можете по-прежнему взаимодействовать с отсутствующей частью, чтобы изменить время).

Я провел некоторое тестирование, а сборщики дат отлично отображались в других представлениях, поэтому это связано с тем, что он либо всплывает, либо отображает сборщики в представлении, которое не является полноэкранным.

Кто-нибудь нашел исправление или обходное решение для этих проблем?

UIDatePicker issues in popovers on iOS 8

Ответ 1

Я нашел решение на форумах разработчиков Apple (моя база знаний для резервного копирования, когда Qaru отказывает мне).

Пользователь Natsu имел следующее решение:

У меня такая же проблема в моем проекте. И это вызывает только на iPad устройств (у iPhone нет проблем с тем же кодом). Как я понимаю, UIDatePicker содержит UITableView и UITableViewCell для отображения содержимое подборщика и его фоновый цвет по умолчанию заданы белым. Эта является причиной этой проблемы. iOS 7 имеет UITableViewCell с белым фон в UIDatePicker iOS 8 имеет UITableView с белым фоном в UIDatePicker Итак, мое решение заключается в том, что я установил этот цвет фона nil, используя 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 в свой класс ячеек таблицы, и он работал как шарм. Спасибо Natsu!