У меня есть UISegmentedControl с двумя сегментами (индекс: 0 и 1), который я пытаюсь выполнить с помощью reset до 0. Когда я запускаю приведенную ниже команду, индекс reset не имеет индекса 0, как ожидалось. Вместо этого он выделяет сегмент с индексом 1.
[seg setSelectedSegmentIndex:0];
Как ни странно, когда я регистрирую выбранный сегмент, он возвращает 0
.
NSLog(@"seg setSelectedSegmentIndex %d", seg.selectedSegmentIndex);
Также странно, что после запуска setSelectedSegmentIndex:0
я не могу повторно выбрать сегмент 0 вручную, он, кажется, заблокирован для сегмента 1, пока я не коснусь 1, когда он работает нормально.
Вот настройка кнопки:
itemArray = [NSMutableArray arrayWithObjects: @"Zero", @"One", nil];
seg = [[UISegmentedControl alloc] initWithItems:itemArray];
[seg setFrame:segRect];
seg.segmentedControlStyle = UISegmentedControlStyleBar;
seg.momentary = NO;
[seg addTarget:self action:@selector(someAction:) forControlEvents: UIControlEventValueChanged];
[mainView addSubview:seg];
ПРИМЕЧАНИЕ.. Чтобы повторить то, что я пытался выполнить с этим вопросом: я хочу динамически установить выделенный индекс UISegmentedControl с помощью переменной, получить соответствующую визуальную обратную связь и проверить выбранный индекс в метод, чтобы что-то произошло в зависимости от выбранного индекса. См. Мой ответ ниже для решения.