2011-12-08 62 views
5

我需要在白天和夜晚爲我的應用程序中的所有UI元素實現不同的顏色和背景圖像。我可以如何實現這一點,而不是爲兩個模式提供兩個筆尖。請幫助我。如何在iPhone應用程序中使夜間模式顯示

+0

你設計了什麼類型的視圖,你主要使用了哪些控件? WebView,MapView,標籤? –

+0

@RahulSharma:它是一個基於導航的應用程序,具有5個或更多的viewControllers,這些頁面中使用的控件包括標籤,textFields,mapView,按鈕,開關,textView等 – Sree

回答

4

我已經自己做了這件事,它最終會比你想象的要做得更多。最後,我不得不幾乎每個GUI項目的子類來保存狀態信息(我有夜間模式,也有一個強度),所以有一個不同的基本顏色用於所有的繪圖。您還需要爲應用程序提供基本(幾乎單色)的主題,以便在夜間模式和白天模式下控件看起來相同。例如,漸變和紋理背景不會很好地工作。

創建雙模式控件後,您需要決定如何讓他們知道模式更改 - 無論是手動設置還是註冊通知。

這對於您在評論中列出的控件來說並不算太壞,但對地圖視圖並不確定。

通過使用半透明覆蓋圖,您可以實現糟糕的夜間模式。

+0

但是如果View已經加載並且用戶改變模式按下按鈕,那麼我們如何改變已經加載的UI元素的屬性 – Sree

+0

您可以通過代碼設置顏色 - 例如label.backgroundColor = [UIColor blackColor]; – jrturton

相關問題