2017-09-26 125 views
0

我一直在嘗試改變背景& &文字顏色的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

還是什麼都沒有,還是一樣的結果,任何幫助都會非常感謝。

回答

0

正常情況下設置backgroundColor是所有需要的。如果你已經在界面生成器中添加了日期選擇器,它將起作用。我懷疑當你致電setInputView時,你的promoEndTime通過將其更改爲其他內容來覆蓋該設置。

可能得到解決,調用setInputView後通過設置背景顏色。但是你可能會發現改變你的策略會更好,因爲日期選擇器出衆的抵制UI變化。你已經在這裏與蘋果公司一起,因爲textColor設置沒有記錄。使用未公開的API是讓Apple從商店中拒絕您的應用程序的主要風險。我同意在這裏更好的外觀定製非常好,但改變文本顏色是從蘋果要求麻煩。

+0

謝謝,我決定讓選擇器保持黑色文本的默認灰色,這種類型的應用程序會帶走它,因爲UIPICKERVIEWS帶有白色文本的黑色背景。所以希望這不會影響用戶體驗。感謝給我關於蘋果政策的支持,我絕對想把所有內容都放在提交的範圍內,我以前從來沒有做過這麼大的應用程序,所以我一直在學習很多東西。 –