Mit UITapGestureRecognizer

Neuen iPhone dev. Ich habe eine view enthält eine UIScrollView enthält eine UIImageView. Ich habe eine (Doppel -) Tippen Sie auf " gestik-Erkennung auf dem Bild sehen, welche macht eine alert-box öffnen. Für einige Grund, und ich bin sicher, ich bin nur zurückgeblieben, es öffnet sich 3 mal.

Hier ist mein code:

- (void)viewDidLoad {

    scrollView.delegate = self;

    UIImage* image = imageView.image;
    imageView.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
    scrollView.contentSize = image.size;

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
    tapGesture.numberOfTapsRequired = 2;
    [imageView addGestureRecognizer:tapGesture];
    [tapGesture release];

    NSLog(@"LOADED");

    [super viewDidLoad];
}

-(IBAction) handleTapGesture:(UIGestureRecognizer *) sender {
    CGPoint tapPoint = [sender locationInView:imageView];
    int tapX = (int) tapPoint.x;
    int tapY = (int) tapPoint.y;
    NSLog(@"TAPPED X:%d Y:%d", tapX, tapY);
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello" message:@"How are you?" delegate:nil cancelButtonTitle:@"I'm awesome." otherButtonTitles:nil];
    [alert show];
    [alert release];
}

Ich habe gerade angefangen, das iPhone dev vor ein paar Tagen. Dieses problem erinnert mich irgendwie von Ereignis-bubbling Themen, die ich behandelt haben, die in javascript. Irgendwelche Ideen?

Oh, und es scheint, wie es ist erwähnenswert, dass die NSLog nicht auftreten, alle drei mal.

InformationsquelleAutor tybro0103 | 2010-10-22

Schreibe einen Kommentar