2

imageview からタグ番号を取得する際に問題が発生しています。スクロールビューの各画像ビューに UIGestureRecognizer を追加し、タッチしたビューからタグ番号を取得しようとしました。画像に触れた後、何も起こりませんでした。私のコードは間違っていますか?私を助けてください。

    // to add images
    for (int i = 0; i < app.arrPhotoList.count; i++) {

        UIImageView *subImg = [[UIImageView alloc]initWithFrame:frame];
        subImg.contentMode = UIViewContentModeScaleAspectFit;
        subImg.layer.borderColor = [UIColor blackColor].CGColor;
        subImg.layer.borderWidth = 2.0f;
        subImg.tag = i;
        subImg.userInteractionEnabled = YES;
        UIGestureRecognizer *singleTab = [[UIGestureRecognizer alloc]initWithTarget:self action:@selector(imageTag:)];
        [subImg addGestureRecognizer:singleTab];


        /////// add img to array of imageviews/////////////
        NSString *imgName = [[app.arrPhotoList objectAtIndex:i]stringByAppendingString:@"_thumb.jpg"];
        subImg.image = [UIImage imageWithContentsOfFile:imgName];
        [scrImgView addSubview:subImg];
}


-(void) imageTag:(UIGestureRecognizer *)sender{
    NSLog(@"you selected tag number is : %d",sender.view.tag);
}
4

2 に答える 2

0

この行を変更

UIGestureRecognizer *singleTab = [[UIGestureRecognizer alloc]initWithTarget:self action:@selector(imageTag:)];

これに

UITapGestureRecognizer *singleTab = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageTag:)];

HTH。

于 2012-07-06T06:47:48.550 に答える
0

デリゲートUITapGestureRecognizerの代わりに記述し、設定する必要があります。UIGestureRecognizer詳細については、UIGestureRecognizerを参照してください。

        UITapGestureRecognizer *singleTab = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageTag:)];
        singleTab.delegate=self;
        [subImg addGestureRecognizer:singleTab];

お役に立てると思います。

于 2012-07-06T06:49:09.420 に答える