Подтвердить что ты не робот

Выбранный оттенок UISegmentedControl не отображается

Оттенок, который обычно отображается на UISegmentedControl на выбранной кнопке, не отображается, когда я устанавливаю всю навигационную панель на черный (self.navigationController.navigationBar.tintColor = [UIColor blackColor];).

Является ли это ошибкой или чем-то, что мне не хватает?

4b9b3361

Ответ 1

Чтобы цвет оттенка отображался, существует несколько требований:

segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

Требуется, чтобы tintColor работал.

Вы также отмечаете, что для параметра tintColor установлено значение [UIColor blackColor]. К сожалению, UISegmentedControl всегда отображает выбранный сегмент с темным цветом, никогда не светлее. Попробуйте установить tintColor на [UIColor darkGrayColor], и вы сможете увидеть выбранный цвет изменения сегмента.

Ответ 2

Пробовали ли вы настроить оттенок на сегментированном элементе управления отдельно?

segmentedControl.tintColor = self.navigationController.navigationBar.tintColor;

Ответ 3

Попробуйте использовать цвет оттенков [UIColor colorWithWhite:80.0/255.0 alpha:1.0]. Это делает черный цвет менее черным и позволяет выбранному сегменту становиться темнее после выбора. Вы можете установить белый компонент как подходящий.

Пример кода:

UISegmentedControl *aSegmentedControl = [[UISegmentedControl alloc] initWithItems:arrItems];
aSegmentedControl.frame = CGRectMake(55, 382, 210, 32);
aSegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
aSegmentedControl.selectedSegmentIndex = 0;
aSegmentedControl.tintColor = [UIColor colorWithWhite:80.0/255.0 alpha:1.0];

Ответ 4

В iphone 3.0, если вы хотите добавить Segmented Control в NavigationController, сделайте это сначала и измените tintcolor после того, как вы это сделали.

Ответ 5

Если вы видите разные цвета оттенков на панели навигации, вы также можете использовать сиюминутное свойство для вашего Uisegmentedcontrol.

segmentedControl.momentary=YES;

Это очищает оттенок подсветки от элемента управления.

Ответ 6

Измените стиль сегментированного управления на Bar или Bezeled в инспекторе атрибутов. Это все.