2011-05-02 16 views
0

私は1つの画像ビューを持っており、他の画像ビューを設定して別の場所に配置しています。私はMAIPビューでFLIP ANIMATIONを適用したいと思います。どのようにそれを行うことができますか? if(i == 1)のとき、私のイメージビューが反転されます。 img1は私のイメージビューであり、私はそれを識別したい。私はまだ特定ImageViewのを識別することはできません複数の画像ビューから特定の画像ビューを特定する

-(void)setCards 
{ 

    int k=0; 
    CGFloat dx = self.view.frame.size.width/2; 
    CGFloat dy = self.view.frame.size.height/2; 

    int cnt = [imagearr count]; 


    for (int j=1; j<3; j++)   // Number of cards 
    { 
     for (int i=1; i<5; i++)   // Number of players 
     { 
      int rnd = (arc4random() % cnt)-1; 
      UIImage *img = [imagearr objectAtIndex:rnd]; 
      UIImageView *img1 = [[UIImageView alloc] initWithImage:img]; 

      CGRect frame = img1.frame; 
      frame.size.width = frameX; 
      frame.size.height = frameY; 
      [img1 setFrame:frame]; 
      [img1 setTag:k+i]; 

      [UIView beginAnimations:@"Move" context:nil]; 
      [UIView setAnimationDuration:0.50]; 
      if (i==1) 
      { 
       [img1 setCenter:CGPointMake(dx+100, dy+(j*15))]; 

      } 
      if (i==2) 
      { 
       [img1 setCenter:CGPointMake(dx+(j*15), dy+60)]; 
      } 
      if (i==3) 
      { 
       [img1 setCenter:CGPointMake(dx-130, dy-(j*15))]; 
      } 
      if (i==4) 
      { 
       [img1 setCenter:CGPointMake(dx-(j*20), dy-95)]; 
      } 

      [self.view addSubview:img1]; 
      [UIView commitAnimations]; 
      [img1 release]; 

     } 
     k=k+10;  
    } 


} 

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


} 

:私はimagearr `52の画像

私のコードを割り当てます。この問題を解決するために私を助けてください。

+1

ここでは同じ質問を再入力することはできません。あなたの質問に注意を喚起したい場合は、2日後に[奨励金をかける]ことができます(http://stackoverflow.com/faq#bounty)。また、[あなたの質問を編集する](http://stackoverflow.com/posts/5854016/edit)で追加情報を追加することもできます。これにより、質問が理解しやすくなり、答えることができます。 – Will

答えて

0

に似た何かを試みることができます。それは、ソリティアゲームを実装し、カードを表すCALayer *を選択する方法を学ぶことができる、それらを周りにドラッグし、お互いに相互作用する。


*パフォーマンスの観点からは、ビューを使用するよりも容易に、おそらくより優れています。

0

ユニークなタグ値をそれぞれUIImageViewインスタンスに関連付けます。

参考のためにコード。

myImageView1.tag = 1; 
myImageView1.tag = 2; 
myImageView1.tag = 3; 
0

ので、各ImageViewのがオンになります別のImageViewの中で異なるイメージがあります異なる位置。

あなたのタッチ方法であなたはタッチの範囲を確認し、次にあなたのタッチ領域の下にあるimageViewに一致する必要があります。それに応じて、あなたの機能を進めることができます。

2

個々のimageViewのタグを設定するのが最適です。タグを使用すると、テーブルビューのセル内に配置された複数の画像を検出して、個別のタグを選択するアクションも設定できます。

0

おそらく不可視のUIbuttonをあなたのimageviewsとキャプチャタッチイベントに置きます。効果は同じで、はるかにクリーンでシンプルです。あなたがより多くの情報を必要とするかどうか私に教えてください。ここで私の答えを編集して幸せでしょうか。

+0

お返事ありがとうございますが、私はイメージビューに特定のタッチをしたいので、私はそれを正しくしたいと思います... – Anjan

+0

あなたは、目に見えないボタンであなたのイメージビューをカバーし、タグを使うか、特定のコールバックを書き込んでタッチイベントを得ることができます。私はそれとその強く推奨されている練習について読んだ。関連リンクをここに掲載しようとします。 –

+0

そして、私は私のアプリでそれを使用します。 –

0

あなたは私はあなたがAppleのサンプルプロジェクトGeekGameBoardを見てみるべきだと思います。この

-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event //here enable the touch  
{ 
    // get touch event  
    UITouch *touch = [[event allTouches] anyObject]; 
    int t = [touch view].tag; 
    UIImageView *imageView = (UIImageView *) [self.view viewWithTag:t]; 

    //your logic here 
} 
+0

tは常に0に設定されています... – Anjan

関連する問題