2012-03-30 3 views
0

UIImageViews間で画像をドラッグアンドドロップする方法があるかどうかを知りたいので、あるUIImageViewから画像をドラッグすると、次のUIImageViewの中央に表示されます。UIImageViewsの間で画像をドラッグアンドドロップするにはどうすればよいですか?

私はちょうど楽しみのために開発している非常に小さなチェスアプリです:私は単純なセットアップ:ボードの背景とすべてのセルのUIImageViewがあります。これまでのところ、私はUITouchとCGPointを使ってボードの周りに&のドロップイメージを正常にドラッグすることができました。私の問題は、&をこれらの画像をどこにでもドラッグすることができることです。お互いの上に、セルの間に、ボードの境界の真ん中に、などという意味です。これは間違いなく境界問題です。

ドラッグ&ドロップイベント処理するための私のコード:forループについて

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    UITouch *touch = [[event allTouches] anyObject]; 

    CGPoint touchLocation = [touch locationInView:[self view]]; 

    for (UIImageView *piece in chessCells) { 
     if([touch view] == piece){ 
      piece.center = touchLocation; 
     } 
    } 

} 

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ 
    [self touchesBegan:touches withEvent:event]; 
} 

を:私のボードのすべての細胞はUIImageViewsブランクIBOutletsあり、私はNSArrayの中でそれらを保つことによって整理いわゆる「chessCells」 。私は、アプリケーションが起動すると、それぞれのセルに画像を表示するメソッドがあります。この時点から、私はそれらをつかみ、チェス盤を自由に動かすことができます...しかし、私が見つけたように、少し自由度があります。

私は数多くのフォーラムを読んでいて、多くのチュートリアルとオンラインドキュメントを読んでいましたので、私はこれを行うように多くのことを学んでいます。専門知識の不足を許してください。

任意の助けいただければ幸いです:)

答えて

1

あなたが行うことができますyourImgFrame1と交差するときは、このコードを使用してコード

if (CGRectIntersectsRect(yourImgFrame1, yourImgFrame2)) { 
    //do What ever you want 
} 

にこれを追加CGRectIntersectRectでyourImgFrame2を試してみてください任意のアクション

いいえ幸運

関連する問題