UISegmentedControl - 设置每个段的色调颜色

时间:2012-12-11 19:42:40

标签: ios5 ios6 uisegmentedcontrol tintcolor

我一直想在我的UISegmentedControl细分中应用不同的颜色。当你按某个段时,这里的许多人一直在询问如何设置色调。我想要做的是在应用程序的整个生命周期中(或视图出现在屏幕上时)设置每个段的色调颜色。

在这里扫描问题,不同的人已经指出,显然在iOS 6中你不能设置每个段的tintColor:

- (void)viewDidLoad
{
    [super viewDidLoad];
    buttonNames = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue", nil];
    colorControl = [[UISegmentedControl alloc] initWithItems:buttonNames];
    [[[colorControl subviews] objectAtIndex:0] setTintColor:[UIColor redColor]];
    [[[colorControl subviews] objectAtIndex:1] setTintColor:[UIColor greenColor]];
    [[[colorControl subviews] objectAtIndex:2] setTintColor:[UIColor blueColor]];
    colorControl.segmentedControlStyle = UISegmentedControlStyleBar;
    colorControl.momentary = YES;

    [colorControl addTarget:self action:@selector(colorSegmentSelected:) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:colorControl];

}

我在XCode中安装了iOS 5.0和5.1模拟器,并将我的项目设置为目标5.0和5.1。在这两种情况下,此代码仍然无效。所有3个片段的tintColor都是灰色的。

  1. 设置每个片段的色调的正确方法是什么(如果我在这里做错了,请纠正我。
  2. 如果此代码在iOS 5中有效,那么即使我定位5.0 / 5.1并使用适当的模拟器它仍然无法工作?
  3. 欣赏有关此主题的反馈/知识。谢谢!

0 个答案:

没有答案