2015-02-08 98 views
1

我有一個UISegmentedContol,每個細分區域內都有圖像。在故事板中,我將背景顏色和圖像的色調設置爲白色。現在當選擇了一個段時,我只想改變背景顏色,並將圖像色調保持爲白色(與未選中的段相同),但我無法這樣做。這裏是我的代碼:UISegmentedContol在不改變圖像色調顏色的情況下更改背景顏色

- (IBAction)onSegmentValueChanged:(id)sender 
{ 
    UISegmentedControl *segment = (UISegmentedControl*)sender; 
    UIColor *tintcolor=UIColorFromRGB(0x3A0F3A); 

    for (int i=0; i<[segment.subviews count]; i++) 
    { 
     if ([[segment.subviews objectAtIndex:i]isSelected]) 
     { 
      [[segment.subviews objectAtIndex:i] setBackgroundColor:[UIColor purpleColor]]; 
     [[segment.subviews objectAtIndex:i] setTintColor:[UIColor whiteColor]]; 
     } 
     else 
     { 
      [[segment.subviews objectAtIndex:i] setBackgroundColor:tintcolor]; 
     } 
    }  
} 

見下圖:

https://www.dropbox.com/s/y93m3vtgr95e2dy/IMG_9249.PNG?dl=0

未被選擇的段具有正確的背景顏色(紫色)和正確的圖像色彩(白色)。所選段應具有帶有白色圖像色調的紫色背景,但具有白色背景。

謝謝

回答

0

我在我以前的項目類似的需要,我用了PPiFlatSegmentedControl它和它的作品像魔術。

感謝,

Attiqe

+0

作品非常漂亮。謝謝! – hshaf 2015-02-08 20:05:48