为每个UISegmentedControl索引设置不同的文本颜色

时间:2014-04-10 09:49:31

标签: ios objective-c uisegmentedcontrol

是否可以让UISegmentedControl的文本/字体颜色的每个片段都不同?

我认为只能设置全局颜色,这不是我要找的。

1 个答案:

答案 0 :(得分:1)

是的,您可以为每个细分设置不同的颜色,请尝试以下代码.....

//假设有3个段

//背景颜色

for (int i = 0; i < [segmentControl.subviews count]; i++)
{
    UIColor *tintcolor = nil;
    if (i == 0)
        tintcolor = [UIColor blueColor];
    else if (i == 1)
        tintcolor = [UIColor greenColor];
    else if (i == 2)
        tintcolor = [UIColor redColor];
    [segmentControl.subviews[i] setTintColor:tintcolor];
}

//文字颜色

for (id segmentControl in [self.segmentedControl subviews])
{
    for (id label in [segmentControl subviews])
    {
        if ([label isKindOfClass:[UILabel class]])
            [label setTextColor:[UIColor darkGrayColor]];    // here you can set whatever colour you want
    }
}
[segmentControl setNeedsDisplay];