У меня есть UISegmentedControl, содержащий 3 варианта выбора типа карты.Я устанавливаю оттенок черного цвета по умолчанию и хочу установить зеленый цвет для выбранного сегмента.
Вот объявление сегментированного управления
NSArray *mapType = [NSArray arrayWithObjects: @"Map", @"Hyb", @"Sat", nil];
segmentedMapType = [[UISegmentedControl alloc] initWithItems:mapType] ;
segmentedMapType.segmentedControlStyle = UISegmentedControlStyleBar ;
segmentedMapType.tintColor = [UIColor blackColor];
segmentedMapType.frame = CGRectMake(100, 40, 120, 40);
// segmentedMapType.momentary = YES;
[[[segmentedMapType subviews]objectAtIndex:0] setTintColor:[UIColor colorWithRed:0 green:.6 blue:0 alpha:1]];
[segmentedMapType setSelectedSegmentIndex:0];
[segmentedMapType addTarget:self action:@selector(selectMap:) forControlEvents:UIControlEventValueChanged];
[mapSettingsView addSubview:segmentedMapType];
А вот метод выбора
-(void)selectMap:(id)sender
{
int index = [segmentedMapType selectedSegmentIndex];
UIColor *newSelectedTintColor = [UIColor colorWithRed: 0 green:.6 blue:0 alpha:1.0];
if (index==0) {
[[[segmentedMapType subviews] objectAtIndex:2] setTintColor:newSelectedTintColor];
[[[segmentedMapType subviews] objectAtIndex:1] setTintColor:[UIColor blackColor]];
[[[segmentedMapType subviews] objectAtIndex:0] setTintColor:[UIColor blackColor]];
} else if (index==1){
[[[segmentedMapType subviews] objectAtIndex:1] setTintColor:newSelectedTintColor];
[[[segmentedMapType subviews] objectAtIndex:0] setTintColor:[UIColor blackColor]];
[[[segmentedMapType subviews] objectAtIndex:2] setTintColor:[UIColor blackColor]];
}
else
if (index==2)
{
[[[segmentedMapType subviews] objectAtIndex:0] setTintColor:newSelectedTintColor];
[[[segmentedMapType subviews] objectAtIndex:1] setTintColor:[UIColor blackColor]];
[[[segmentedMapType subviews] objectAtIndex:2] setTintColor:[UIColor blackColor]];
}
}
Этот код хорошо работает на устройствах =Проблема iOS-5 в том, что зеленый оттенок не применяется к правильному сегменту или иногда к любому сегменту.Что не так с этим кодом?Любая помощь будет принята с благодарностью.