Фон UIDatePicker не меняется

Я пытался изменить цвет фона и текста для UIDatePicker, я выполняю этот код через ViewDidLoad. Цвет текста меняется, но цвет фона не меняется. Вместо этого, когда я запускаю приложение и представление загружается в первый раз, оно не меняет цвет, но если я нажму внутри текстового поля, затем перейду к предыдущему экрану, затем щелкну текстовое поле, цвет фона изменится, как и предполагалось . Это мой код для метода viewdidload ниже:

UIDatePicker *endTimeDatePicker = [[UIDatePicker alloc]init];
endTimeDatePicker.backgroundColor = [UIColor colorWithRed:0/255 
green:0/255 blue:0/255 alpha:0.8];
[endTimeDatePicker setValue:[UIColor whiteColor] forKey:@"textColor"];
[endTimeDatePicker setDate:startTime];
endTimeDatePicker.datePickerMode = UIDatePickerModeDate;
[endTimeDatePicker addTarget:self action:@selector(updateEndTime:) 
forControlEvents:UIControlEventValueChanged];
[promoEndTime setInputView:endTimeDatePicker];

Я действительно в недоумении, я также пробовал другие варианты, чтобы установить цвет фона...

setbackground color, set tintcolor, uicolor black

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


person C-H-E-F    schedule 26.09.2017    source источник


Ответы (1)


Обычно установка backgroundColor — это все, что нужно. Если бы вы добавили средство выбора даты в построителе интерфейса, это сработало бы. Я подозреваю, что когда вы вызываете setInputView, ваш promoEndTime переопределяет этот параметр, изменяя его на что-то другое.

Вы можете обойти это, установив цвет фона после вызова setInputView. Но вам может быть лучше изменить свою стратегию, потому что средства выбора даты, как известно, устойчивы к изменениям пользовательского интерфейса. Вы уже на тонком льду с Apple, потому что параметр textColor не задокументирован. Использование недокументированного API — это большой риск того, что Apple отклонит ваше приложение из магазина. Я согласен с тем, что лучшая настройка внешнего вида была бы чрезвычайно хороша здесь, но изменение цвета текста вызывает проблемы у Apple.

person Tom Harrington    schedule 26.09.2017
comment
Спасибо, я решил просто оставить средство выбора по умолчанию серым с черным текстом, что отвлекает от приложения, потому что UIPICKERVIEWS имеют черный фон с белым текстом. Так что, надеюсь, это не то, что влияет на опыт пользователей. Спасибо, что рассказали мне о политике Apple, я определенно стараюсь держать все в рамках представленных строк, я никогда раньше не делал таких огромных приложений, поэтому я многому учусь на этом пути. - person C-H-E-F; 28.09.2017