Настройка фонового изображения UISegmentedControl
Итак, у меня есть следующий код для установки цвета фона сегментированного управления:
UISegmentedControl * segmentedCtrl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 150, 35)];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"icon-home.png"] atIndex:0 animated:NO];
[segmentedCtrl insertSegmentWithImage:[UIImage imageNamed:@"icon-star.png"] atIndex:1 animated:NO];
Все работает отлично, за исключением того, что когда я нажимаю на сегмент, я вижу синюю кнопку выделенной. Как отключить эту подсветку? Вот скриншот моей проблемы:
![enter image description here]()
Ответы
Ответ 1
UISegmentControl имеет разделитель между двумя сегментами. Используя следующий код, вы можете изменить фон разделителя.
[segmentedCtrl setDividerImage:[UIImage imageNamed:@"divider_selected.png"] forLeftSegmentState:UIControlStateSelected rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[segmentedCtrl setDividerImage:[UIImage imageNamed:@"divider_normal.png"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
Где divider_selected.png - это изображение, которое вы использовали для выбранного состояния. Если divider_normal.png - это изображение, которое вы использовали для нормального состояния.
Надеюсь, это поможет....
Ответ 2
Установите одинаковые фоновые изображения для выделенного состояния:
[segmentedCtrl setBackgroundImage:[UIImage imageNamed:@"btn-gradient-brown"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
Ответ 3
Цвет выбранного сегмента определяется tintColor
. Если вы хотите отключить его, установите tintColor
на [UIColor clearColor];
Для дальнейшей настройки вы можете обратиться к iOS How-To: изменить цвет выбранного сегмента UISegmentedControl