我对 UISegmentedControl 有一个奇怪的问题。
我正在使用以下方法设置选定的段索引:
[self.toolbarSegmentedControl setSelectedSegmentIndex:0];
所以问题是 - 点击处理程序:
- (IBAction)segmentedControlClick:(id)sender
不在模拟器中调用,但在设备下通过此方法时调用它。为什么会这样?错误和正确的行为在哪里?
最佳答案
您的处理程序正在拦截事件 UIControlEventValueChanged
.
当您更改 UIControl
的值时以编程方式,您不应指望此事件将被调用,因为只有用户交互应该发送 UIControl 的操作。
相反,如果您愿意,您可以自己调用它:
[self.toolbarSegmentedControl setSelectedSegmentIndex:0];
[self.toolbarSegmentedControl sendActionsForControlEvents:UIControlEventValueChanged];
这样就可以了。
关于objective-c - UISegmentedControl setSelectedSegmentIndex 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8817988/