2013-12-12 47 views
-1

在我的iOS应用程序中,我有一个UIImageView,当我点击它时调用了一个方法。带参数的方法选择器iOS

这是方法:

- (void)tapImagesLike:(UITapGestureRecognizer*)recognizer idOfTheImage:(NSInteger*) id_image{ 

    //here i want to use the passed value id_image 
} 

我不能把它和输入获取参数。

这是调用被点击的UIImageView时方法的代码:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImagesLike:idOfTheImage:x)]; 

     singleTap.numberOfTapsRequired = 1;                         

     likeImageImageview.userInteractionEnabled = YES;                        

     [likeImageImageview setMultipleTouchEnabled:NO];                        

     [likeImageImageview addGestureRecognizer:singleTap]; 

x是,我想在输入法给予NSInteger的。

我该怎么办?

回答

0

只要给每个imageView一个标签,并使用该标签作为其标识。所以你不需要传递参数。并修改代码是这样的:

- (void)tapImagesLike:(UITapGestureRecognizer*)recognizer{ 
    UIView *imageView = recognizer.view; //cast it to UIImageView if needed 
    //use imageView.tag as the id 
} 
+0

我的imageViews已经有一个标签。标记是另一个参数,我必须使用 – lubilis

+0

好吧,你可以只使用一个变量来存储ID,并从点击触发 –

+0

时从该变量检索ID对不起,我没有说imageView是动态创建的循环,并在每个循环中我的变量x变化。因此,如果将值存储在变量中,我将获得它在最后一个循环中获得的值。没有任何解决方案将此参数传递给该方法? – lubilis