UIDatePicker背景不变

问题描述:

我一直在尝试改变背景& &文字颜色的UIDatePicker,我通过ViewDidLoad执行此代码。文字颜色改变,但背景颜色拒绝改变。相反,当我运行应用程序和第一次加载视图时,它不会改变颜色,但是如果我点击文本框内部,然后转到上一个屏幕,然后单击文本框,背景颜色会像它应该改变的那样改变。这是我下面的viewDidLoad方法代码:UIDatePicker背景不变

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颜色,设置tintcolor,黑色的UIColor

还是什么都没有,还是一样的结果,任何帮助都会非常感谢。

正常情况下设置backgroundColor是所有需要的。如果你已经在界面生成器中添加了日期选择器,它将起作用。我怀疑当你致电setInputView时,你的promoEndTime通过将其更改为其他内容来覆盖该设置。

可能得到解决,调用setInputView后通过设置背景颜色。但是你可能会发现改变你的策略会更好,因为日期选择器出众的抵制UI变化。你已经在这里与苹果公司一起,因为textColor设置没有记录。使用未公开的API是让Apple从商店中拒绝您的应用程序的主要风险。我同意在这里更好的外观定制非常好,但改变文本颜色是从苹果要求麻烦。

+0

谢谢,我决定让选择器保持黑色文本的默认灰色,这种类型的应用程序会带走它,因为UIPICKERVIEWS带有白色文本的黑色背景。所以希望这不会影响用户体验。感谢给我关于苹果政策的支持,我绝对想把所有内容都放在提交的范围内,我以前从来没有做过这么大的应用程序,所以我一直在学习很多东西。 –