2014-06-25 52 views
1

我在AppDelegate.m中設置了[UISegmentedControl appearance]的色調顏色:didFinishLaunchingWithOptions,並且最初沒有看到問題。在任何屏幕上顯示警報視圖後,所有UISegmentedControl實例的色調將重置(在clearColorwhiteColor之間,不需要檢查)。他們只是消失。UISegmentedControl tint IOS 7.1中的顏色/消失bug

這是我使用的警報視圖:

https://www.cocoacontrols.com/controls/sialertview

設置色調顏色viewDidLoad像下面沒有任何改變,但我可以在應用程序達到這個線調試看看。

[self.segmentedControl setTintColor:[UIColor blackColor]]; 

唯一的解決辦法我能想出是這樣的,它也運行在viewDidLoad

for (int i = 0; i < [segmentedControl.subviews count]; i++) 
{ 
    [[segmentedControl.subviews objectAtIndex:i] setTintColor:[UIColor blackColor]]; 
    for (int j = 0; j < [((UIView*)[segmentedControl.subviews objectAtIndex:i]).subviews count]; j++) 
    { 
     [[((UIView*)[segmentedControl.subviews objectAtIndex:i]).subviews objectAtIndex:j] setTintColor:[UIColor blackColor]]; 
    } 
} 

外環是標籤,內層一個是分隔符。

其他/更好的想法,請嗎?謝謝...

+0

來吧,什麼都沒有......? :) –

+1

我在iOS8.1上有類似的問題,你的解決方案就像一個魅力!謝謝。 – DrMoriarty

回答

1

寫代碼的AppDelegate

self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal; 
+0

我們將項目切換到全新的用戶界面,所以我仍然沒有機會嘗試。我會盡快提供反饋意見。 –