iOs 5 SDK UIGestureRecognizer: различие между несколькими изображениями - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь различаться между несколькими изображениями, которые вы можете создать с помощью IBAction.

Вот мой код действия:

-(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;
}

Надеюсь на помощь, Винсент

Ответы [ 2 ]

0 голосов
/ 24 января 2012

Неважно, я решил это сам, но спасибо за ответ. Я просто искал неправильный метод.

-(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 голосов
/ 21 января 2012

для сравнения объекта не следует использовать == или! =

использовать

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

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