我有一個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
未被選擇的段具有正確的背景顏色(紫色)和正確的圖像色彩(白色)。所選段應具有帶有白色圖像色調的紫色背景,但具有白色背景。
謝謝
作品非常漂亮。謝謝! – hshaf 2015-02-08 20:05:48