我想设置突出显示的片段而不调用指定的功能。
我打电话
segmentedControlLeft.selectedSegmentIndex = 1;
适用于segmentedControl,但它也生成UIControlEventValueChanged,它调用我的附加函数,我想避免再次调用。
可能吗?
谢谢你!答案 0 :(得分:2)
查看我的question
这是一个已知问题。 ID#8372405
您必须使用在使用setSelectedSegmentIndex之前设置的BOOL:并在设置所选索引后取消设置。检查你的行动中的布尔值。
这就是我所做的。
答案 1 :(得分:1)
删除目标,更改选定的细分并再次添加目标。或者你使用一些变量标记你是否通过代码修改它,如果设置了这个标志,忽略你的函数中的这个调用并重置你的标志。
答案 2 :(得分:1)
我现在就这样做了,它可以正常工作
[segmentedControlLeft removeTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged];
segmentedControlLeft.selectedSegmentIndex = value;
[segmentedControlLeft addTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged];