0

UIImageView に UIPanGestureRecognizer を実装しようとしています。現在、UIImageView をドラッグして移動先を制限することができ、それが機能します。ただし、UIImageView のコピーのように見えるものを移動しており、元の UIImageView はそのままです。なぜこれが起こるのでしょうか?

UIImageView を作成してメイン ビューに追加した後、ジェスチャ レコグナイザーを追加します。

UIPanGestureRecognizer* pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(tileDragged:)];
pan.maximumNumberOfTouches = 1;
pan.minimumNumberOfTouches = 1;
[tileImageView addGestureRecognizer:pan];

次に、私の tileDragged メソッドで:

case UIGestureRecognizerStateChanged:
{  
    PuzzleTileView *tileView = (PuzzleTileView *)[self.allTiles objectAtIndex:panGesture.view.tag]; 

    CGFloat x = 0.0;
    CGFloat y = 0.0;

    // x and y are calculated.
    [tileView setTransform:CGAffineTransformMakeTranslation(x, y)];

    break;
}
4

1 に答える 1

0

複数の画像がある場合は、単純な問題である必要があります。私たちの多くは、UIImageViewを問題なくドラッグします。コードには明らかなものは何もありません(変数/クラス名の違いで混乱していますが)。そのため、より包括的なコードサンプルを提供する必要があるかもしれません。viewDidLoadいくつかのデバッグメッセージを追加してみてください(たとえば、メソッドで、たとえば、ビューのサブビューの数をログに記録しますtileDragged)。

私はあなたのコメントからあなたが最終的に問題を解決したことを収集します。おめでとうございます!

于 2012-07-09T15:26:48.757 に答える