0

我遇到了一個令我發狂的非常奇怪的問題。iOS 7:顯示彈出窗口後,色調隨機更改

問題是,有時(它並不總是發生),顯示彈出後,酒吧按鈕和任何UISegmentedControl變紅,而他們應該是白色的(見下圖)。

這裏也是與我設置我的應用程序的着色顏色的代碼(在應用程序的委託初始化方法):

[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys: 
                 [UIColor redColor], NSForegroundColorAttributeName, 
                 shadow,NSShadowAttributeName, 
                 [UIFont fontWithName:@"HelveticaNeue-Thin" size:18], 
                 NSFontAttributeName, 
                 nil]]; 

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                 [UIColor redColor], NSForegroundColorAttributeName, 
                 shadow,NSShadowAttributeName, 
                 [UIFont fontWithName:@"HelveticaNeue-Thin" size:18], 
                 NSFontAttributeName, 
                 nil] forState:UIControlStateNormal]; 

if ([self.window respondsToSelector:@selector(setTintColor:)]) 
    self.window.tintColor = [UIColor redColor]; 

[[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]]; 
[[UINavigationBar appearance] setTintColor:[UIColor redColor]]; 

[[UITabBar appearance] setTintColor:[UIColor redColor]]; 

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], NSForegroundColorAttributeName, nil] forState:UIControlStateSelected]; 
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor darkGrayColor], NSForegroundColorAttributeName, nil] forState:UIControlStateNormal]; 

的爲什麼發生這種情況的任何想法?我認爲,如果我的代碼中存在問題,導航欄按鈕和分段控件會在應用程序啓動後變成紅色,而不是一段時間後。你們有什麼感想?

感謝

enter image description here

enter image description here

回答

0

的問題發表意見如下兩行後消失:

if ([self.window respondsToSelector:@selector(setTintColor:)]) 
self.window.tintColor = [UIColor redColor]; 
0

心靈試圖去背景顏色設置爲白色?這似乎是這個改變。如果這糾正了它,那麼我們有一個起點

[[UITabBar appearance] setBackgroundColor:[UIColor whiteColor]; 

嘗試並回復。

+1

嗨Plasher,感謝您的回答。我會試一試。順便說一句,我不明白的是爲什麼這只是在顯示彈出窗口一段時間後才發生,而不是在應用程序開始運行後發生。有人知道嗎? – pAkY88