2012-07-20 8 views
6

雖然檢測到更改與UIControlEventValueChanged一起使用 - 即使在選定的段上,我也需要檢測觸摸。如何檢測uisegulatedcontrol上的接觸 - 即使在選定的網段上?

我試圖

[onOffSC addTarget:self 
      action:@selector(segmentedControlPushed) 
    forControlEvents:UIControlEventAllTouchEvents]; 

但這觸發什麼。

有沒有辦法檢測所選段上的接觸?

編輯 - 無需創建一個新的子類。 PS還試圖在那裏將它拖到

非常感謝

回答

2

當手勢識別不接受segmentcontrol我認爲這會工作

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    NSInteger oldValue = self.selectedSegmentIndex; 
    [super touchesBegan:touches withEvent:event]; 
    if (oldValue == self.selectedSegmentIndex) 
     [self sendActionsForControlEvents:UIControlEventValueChanged]; 
} 
+0

爲了這個,我要創建一個新的子類... - 我忘了提到它最初 – user387184 2012-07-20 07:38:22

+0

你應該能夠連接點擊手勢識別器在IB的SegmentedControl,然後只需連接你自己的方法 - (IBAction)segmentedControlTouched:(ID)發件人。我很確定每次觸摸SegmentedControl時都會觸發此方法。 – 2012-07-20 07:51:57

+0

..正如我上面提到的,出於某種原因,這是行不通的 - 可能因爲我使用Xcode 4.3? – user387184 2012-07-20 08:06:35

相關問題