3

私は通常、このメソッドを使用して UIButton 可動を実装します。

[button addTarget:self action:@selector(dragMoving:withEvent:) forControlEvents:UIControlEventTouchDragInside];

しかし、それは同時に touchUpInside イベントをトリガーし、他のことを行うには touchUpInside イベントが必要です。

それで、これを回避する方法を知っている人はいますか?

どうもありがとう;

以下のコードを使用して解決してください。

  [button addTarget:self action:@selector(touchDown:withEvent:) forControlEvents:UIControlEventTouchDown];

    [button addTarget:self action:@selector(touchDragInside:withEvent:) forControlEvents:UIControlEventTouchDragInside];
        [button addTarget:self action:@selector(touchUpInside:withEvent:) forControlEvents:UIControlEventTouchUpInside];

    - (void) touchUpInside :(UIControl*)c withEvent:ev{
    NSLog(@"touch Up inside");
    if (count) {
        NSLog(@"here I can do something about clicking event");
    }
}

    - (void) touchDown:(UIControl*)c withEvent:ev{
    NSLog(@"touch Down");
    count = YES;
}

    -(void) touchDragInside:(UIControl*)c withEvent:ev{
    NSLog(@"touch drag inside");
    c.center = [[[ev allTouches] anyObject] locationInView:self.view];
    count = NO;
}
4

1 に答える 1