我想设置突出显示的段而不调用指定的功能。设置UISegmentedControl的高亮
我打电话
segmentedControlLeft.selectedSegmentIndex = 1;
,对于segmentedControl运作良好,但它产生UIControlEventValueChanged以及它调用我的连接功能,我倒是希望避免再次打来电话。
是可能的吗?
谢谢!
我想设置突出显示的段而不调用指定的功能。设置UISegmentedControl的高亮
我打电话
segmentedControlLeft.selectedSegmentIndex = 1;
,对于segmentedControl运作良好,但它产生UIControlEventValueChanged以及它调用我的连接功能,我倒是希望避免再次打来电话。
是可能的吗?
谢谢!
移除目标,更改选定的细分并再次添加目标。或者您是否使用某个变量来标记您已通过代码进行了修改,并且如果设置了此标志,请在您的函数中忽略此调用并重置您的标志。
见我question
这是一个已知的问题。 ID#8372405
您必须在使用setSelectedSegmentIndex之前使用您设置的布尔值,并在设置选定索引后取消设置。检查你的行动中的布尔。
这就是我所做的。
我现在做到了这样,它的工作原理
[segmentedControlLeft removeTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged];
segmentedControlLeft.selectedSegmentIndex = value;
[segmentedControlLeft addTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged];