2013-12-12 87 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