我想設置突出顯示的段而不調用指定的功能。設置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];