Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何从scrollview中的imageview中获取标签号?_Xcode_Tags_Touch_Imageview_Scrollview - Fatal编程技术网

Xcode 如何从scrollview中的imageview中获取标签号?

Xcode 如何从scrollview中的imageview中获取标签号?,xcode,tags,touch,imageview,scrollview,Xcode,Tags,Touch,Imageview,Scrollview,从imageview获取标签号时遇到问题。 我向scrollview中的每个ImageView添加了UIgestureRecognitor,并尝试从触摸视图中获取标签号。 在我触摸图像后,什么也没有发生。 我的代码错了吗?请帮帮我 // to add images for (int i = 0; i < app.arrPhotoList.count; i++) { UIImageView *subImg = [[UIImageView alloc]init

从imageview获取标签号时遇到问题。 我向scrollview中的每个ImageView添加了UIgestureRecognitor,并尝试从触摸视图中获取标签号。 在我触摸图像后,什么也没有发生。 我的代码错了吗?请帮帮我

    // 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);
}
换行

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

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

更改此行

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

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

您应该编写UITapGestureRecognizer而不是UIGestureRecognizer,并设置委托。如需了解更多信息,请参阅

我认为这将对您有所帮助。

您应该编写UICapgestureRecognizer而不是UIGestureRecognizer,并设置委派。如需了解更多信息,请参阅


我想这会对你有所帮助。

顺便说一句,我在singleTap.delegate=self上收到了警告消息;这是“将*const_strong传递给不兼容类型“id”的参数,我认为这是因为委托类型是UIgestureRecognitor。有没有办法解决这个警告消息?你必须在class.h文件中添加uigestureRecognitizerDelegate,比如@interface yourClass:uiviewcontroller再次感谢你!今天我从你那里得到了很多东西;顺便说一下,我在singleTap.delegate=self上收到了警告消息;这是“将*const_strong传递给不兼容类型“id”的参数,我认为这是因为委托类型是UIgestureRecognitor。有没有办法解决这个警告消息?你必须在class.h文件中添加uigestureRecognitizerDelegate,比如@interface yourClass:uiviewcontroller再次感谢你!今天我从你那里得到了很多东西;