2013-05-08 29 views
1

我已經玩過UIAppearance了一點點,它工作正常。目前,我正在AppDelegate中設置所有外觀,但現在我需要在App啓動後進行一些自定義(用戶登錄後進行主題化)。UIAppearance是否在AppDelegate之外工作?

是否可以將外觀的東西放在AppDelegate之外?當然,我已經嘗試過,但它沒有效果。我是否需要重新加載Wohle App-UI,如果有,我該怎麼做?

謝謝!

克里斯

+1

如果在創建視圖對象後更改'UIAppearance',則不會影響它們。您必須重新加載/重新實例化這些對象。我無法在文檔中找到它,但似乎是這樣。 – 2013-05-08 11:46:34

回答

1

如果您正在使用XIB創建您的視圖,你應該做的AppDelegate內的外觀定製,因爲定製應該創建任何UIControl對象之前進行。可以使用appearanceWhenContainedIn

要定製的外觀用於在層次結構包含在容器類的實例中的類的實例,或實例自定義爲不同視圖控制器/容器,使用+ appearanceWhenContainedIn:用於適當的外觀代理。

例如:

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:myNavBarColor]; 
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIPopoverController class], nil] setTintColor:myPopoverNavBarColor]; 

使用的ViewController類

[[UIStepper appearanceWhenContainedIn:[MainViewController class], nil]setTintColor:[UIColor redColor]]; 
[[UIStepper appearanceWhenContainedIn:[DetailViewController class], nil]setTintColor:[UIColor greenColor]]; 

如果你正在創建的控制程序,無論自定義剛剛創建控制

前3210
相關問題