我有一个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 :(得分:0)
对于具有分段控制的所有附加功能,我使用自定义分段控制。 例如,您可以检查我的分段控件。
https://github.com/Bambaster/CustomSegmentControl
所以你可以添加你的图像,颜色等。
答案 1 :(得分:0)