我有一個想法,我想嘗試實施後:刷新標籤欄改變UIAppearence
基本上,我希望能夠使它容易被記錄並沒有區分在所記錄我應用。我的想法是,當用戶未登錄時,應用程序將在UIAppearence代理中設置背景顏色等。登錄後,這些值將通過更改UIAppearence設置進行更改。
我發現這種作品,但不是所有的UI元素都會在更改UIAppearence後刷新。最顯着的例子是我的UITabBarController中的標籤欄(這是我的窗口的rootViewController)。
在尋找這個問題的解決方案時,我發現了一些建議,需要調用layoutSubviews
或drawRect
以便刷新視圖並採用對UIAppearence的更改。我已經嘗試了所有下面的沒有成功,但是,在我的應用程序委託:
[self.window.rootViewController.view setNeedsLayout]
[self.window.rootViewController.view setNeedsDisplay]
[self.tabbarController.tabBar setNeedsLayout]
[self.tabbarController.tabBar setNeedsDisplay]
[self.tabbarController.view setNeedsLayout]
[self.tabbarController.view setNeedsDisplay]
任何人有任何技巧或見解我怎麼可能會迫使標籤欄(和其他視圖)重繪?我在想,我只是想調用layoutSubviews
一直沿着UIView層次結構,但如果是這樣,我還沒有找到一種方法來做到這一點。
感謝您的回答。但是,我正在尋找特定於UIAppearance的內容。 –