2012-01-20 36 views
0

我尝试在多个imageView之间进行区别,您可以使用IBAction创建这些图像查看器。iOs 5 SDK UIGestureRecognizer:多个图像查看器之间的差异

这里是我的动作代码:

-(IBAction) addObject:(id)sender { 

    UIImage * image = [UIImage imageNamed:@"Stuhl.png"]; 
    CGRect rect = CGRectMake(0.0f, 40.0f, image.size.width, image.size.height); 
    Bild *newImageView = [[Bild alloc] initWithFrame:rect]; 
    [newImageView setImage:image]; 
    newImageView.userInteractionEnabled = TRUE; 
    [theView addSubview:newImageView]; 
    [arryData addObject:newImageView]; 

} 

然后我的问题:我如何才能在ImageView的有所不同,当我点击与IBAction为ADDOBJECT多次按钮?

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer  *)otherGestureRecognizer 
{  

if (gestureRecognizer.view != imageView /*<---Here's my problem*/) 
    return NO; 

if (gestureRecognizer.view != otherGestureRecognizer.view) 
    return NO; 

if ([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]] ||  [otherGestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]]) 
    return NO; 
} 

希望寻求帮助, 文森特

回答

0

没关系,我解决了它我自己,但谢谢你的答案。我刚刚搜索了错误的方法。

-(IBAction) addObject:(id)sender { 

    UIImage * image = [UIImage imageNamed:@"Stuhl.png"]; 
    CGRect rect = CGRectMake(0.0f, 40.0f, image.size.width, image.size.height); 
    Bild *newImageView = [[Bild alloc] initWithFrame:rect]; 
    [newImageView setImage:image]; 
    newImageView.userInteractionEnabled = TRUE; 
    [theView addSubview:newImageView]; 
    /*--->*/[self addGestureRecognizersToPiece:newImageView];/*<---*/ 

} 
0

比较对象,你不应该使用==或!=

使用

if(![gestureRecognizer.view isEqual:imageView]) 
    return NO; 

if (![gestureRecognizer.view isEqual:otherGestureRecognizer.view]) 
    return NO; 
+0

谢谢,但那不是我的问题,我用于gesturerecognizer的代码是从苹果示例代码复制的。我的问题是,当我多次点击添加按钮时,有多个图像被命名为“imageView”。在gestureRecognizers方法中,我必须告诉它,imageView是如何调用的,我想要移动,但是如果有更多的,我不知道如何让程序给它们分别命名的图像视图。 –

+0

你可以设置标签,例如,UIImageView * imageView = [[UIImageView alloc] init];那么imageView.tag = 100;之后,在gestureRecognizer上,检查其视图的标记,gestureRecognizer.view.tag,可以比较标记。 –