1

私のアプリでは、円形の境界線内でuibuttonを移動する必要があります。次のコードを試しましたが、機能していないようです -

- (IBAction) imageMoved:(id) sender withEvent:(UIEvent *) event{

    UIControl *control = sender;
    UITouch *t = [[event allTouches] anyObject];
    CGPoint pPrev = [t previousLocationInView:control];
    CGPoint p = [t locationInView:control];

    if (control.center.x>40&&control.center.x<300) {
        CGPoint center = control.center;
        center.x += p.x - pPrev.x;
        center.y += p.y - pPrev.y;
        control.center = center;
    }else if (control.center.y>40&&control.center.y<320){
        CGPoint center = control.center;
        center.x += p.x - pPrev.x;
        center.y += p.y - pPrev.y;
        control.center = center;
    }else{

    }
}

誰もこれを行う方法について考えを持っていますか? 前もって感謝します。

4

1 に答える 1

0

タッチで移動するには、「touchMoved」などのUIButtonタッチ メソッドを使用できません。touchBegin

次のようなさまざまなアクションに対して IBAction を作成する必要があります

UIControlEventTouchDragOutside
UIControlEventTouchDragInside
UIControlEventTouchDragExit
UIControlEventTouchDragEnter

これらのメソッドを使用すると、ボタンを移動できます...

そして、円形の境界線だけで動き続けるには、ロジックが良さそうです....

于 2013-03-20T07:04:11.493 に答える