我有一个带有两个段(索引:0 和 1)的 UISegmentedControl,我试图以编程方式将其重置为 0。当我运行下面的命令时,它不会按预期将段索引重置为 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 的选定索引,获取适当的视觉反馈,并在方法中检查选定的索引,以根据选定的情况发生某些事情指数。请参阅下面的答案以获取解决方案。