2012-07-20 9 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

相关问题