我有一个图像视图,我在其上设置了其他图像视图并将它们放在不同的位置。我想在法师视图上应用FLIP ANIMATION。怎么办?当if(i == 1)时,我的imageview被翻转。 img1
是我的图片视图,我想识别它。我在`imagearr
我的代码:
-(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;
}
我仍然无法识别特定的imageview。请帮我解决这个问题。
答案 0 :(得分:2)
为单个imageView设置标记是最好的方法。使用标签,您甚至可以检测放置在tableview单元格内的多个图像,并设置操作以选择单个标签。
答案 1 :(得分:0)
将唯一标记值与每个 UIImageView 实例相关联。
代码供参考。
myImageView1.tag = 1;
myImageView1.tag = 2;
myImageView1.tag = 3;
答案 2 :(得分:0)
Apple Link代码: Detect imageview from multiple imageview
Stack Stack Here is the discussion for to detect the images from the multiple images
祝你好运
答案 3 :(得分:0)
不同的imageView中会有不同的图像,因此每个imageView将位于不同的位置。
在你的触摸方法中,你必须检查触摸的界限,然后你必须匹配你的触摸区域下的imageView。根据你可以继续你的功能。
答案 4 :(得分:0)
您可以在图像视图上放置不可见的UI按钮并捕获触摸事件。效果相同,更清洁,更简单。如果您需要更多信息,请告诉我。很乐意在这里编辑我的答案。
答案 5 :(得分:0)
你可以尝试类似的东西
-(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
}
答案 6 :(得分:0)
我认为您应该看看Apple示例项目GeekGameBoard。它实现了纸牌游戏,您将能够学习如何选择代表卡片的CALayer
s *,将它们拖动,并让它们相互交互。
*从性能角度来看,这比使用视图更容易,也可能更好。