UIDatePicker 背景没有改变

UIDatePicker Background isn't changing

我一直在尝试更改 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];

我真的很茫然,我也尝试了其他变体来设置背景颜色...

设置背景颜色,设置 tintcolor,uicolor 黑色

仍然没有,仍然是同样的结果,任何帮助将不胜感激。

通常设置 backgroundColor 即可。如果您在界面生成器中添加了日期选择器,它就可以工作。我怀疑当您调用 setInputView 时,您的 promoEndTime 正在通过将其更改为其他设置来覆盖该设置。

可能通过设置背景颜色调用setInputView后解决这个问题。但是您可能会发现更改策略会更好,因为众所周知,日期选择器会抵制 UI 更改。您在 Apple 方面已经如履薄冰,因为 textColor 设置未记录。使用未记录的 API 是让 Apple 从商店拒绝您的应用程序的主要风险。我同意更好的外观自定义在这里 非常 很好,但是更改文本颜色是在找 Apple 的麻烦。