Вопрос по objective-c, ios, ios8, uidatepicker – Проблемы с UIDatePicker в поповерах на iOS 8

10

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

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

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

это также не только для popovers, но и для tableview. Igor Konoplyanko

Ваш Ответ

1   ответ
20

ервному копированию, когда 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 в своем классе ячеек таблицы, и он работал как шарм. Спасибо, Нацу!

Любая идея о том, как исправить эту проблему в Swift? Marcus Gabilheri
классно. работает как шарм! спасибо, что довел это до SO :) Igor Konoplyanko
Спасибо, это сработало для меня ...... :) Leena
Большое спасибо. Это решило мою проблему. user3182143
У меня тоже сработало - спасибо! Luke

Похожие вопросы