我一直想在我的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都是灰色的。
欣赏有关此主题的反馈/知识。谢谢!