6

変更の検出は機能しUIControlEventValueChangedますが、選択したセグメントでもタッチを検出する必要があります。

私は試した

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

しかし、これは何も発火しません。

選択したセグメントへのタッチを検出する方法はありますか?

EDIT - 新しいサブクラスを作成する必要はありません。ps また、ジェスチャ認識エンジンは、そこにドラッグしようとするとセグメントコントロールを受け入れません

どうもありがとう

4

1 に答える 1

2

これはうまくいくと思います

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSInteger oldValue = self.selectedSegmentIndex;
    [super touchesBegan:touches withEvent:event];
    if ( oldValue == self.selectedSegmentIndex )
        [self sendActionsForControlEvents:UIControlEventValueChanged];
}
于 2012-07-20T07:35:42.657 に答える