2011-03-01 28 views
0

我想設置突出顯示的段而不調用指定的功能。設置UISegmentedControl的高亮

我打電話

segmentedControlLeft.selectedSegmentIndex = 1; 

,對於segmentedControl運作良好,但它產生UIControlEventValueChanged以及它調用我的連接功能,我倒是希望避免再次打來電話。

是可能的嗎?

謝謝!

回答

1

移除目標,更改選定的細分並再次添加目標。或者您是否使用某個變量來標記您已通過代碼進行了修改,並且如果設置了此標誌,請在您的函數中忽略此調用並重置您的標誌。

2

見我question

這是一個已知的問題。 ID#8372405

您必須在使用setSelectedSegmentIndex之前使用您設置的布爾值,並在設置選定索引後取消設置。檢查你的行動中的布爾。

這就是我所做的。

1

我現在做到了這樣,它的工作原理

[segmentedControlLeft removeTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged]; 
segmentedControlLeft.selectedSegmentIndex = value; 
[segmentedControlLeft addTarget:self action:@selector(segmentActionZoom:) forControlEvents:UIControlEventValueChanged];