2011-02-08 37 views
0

現在用在CellForRowAtIndext所述的UIImageView如像下面如何在表格視圖單元格圖像中使用uicontrolstate函數?

int k=5; 
for(int i=1; i<=3;i++) { 

    btn_img=[[UIImageView alloc]initWithFrame:CGRectMake(k,50,90, 40)]; 
    btn_img.image = [UIImage imageNamed:[image_array1 objectAtIndex:indexPath.row]]; 
    btn_img.tag=i; 
    [cell.contentView addSubview:btn_img]; 
    k=k+95; 
    [btn_img release]; 

}

通過此I可以能夠顯示在一排圖像3。 但每幅圖像都不相同。如果特定的圖像被點擊。我如何識別特定圖像ID?

for(int i=0; i<=2;i++) { 
if (m<[image_array1 count]) { 
    btn_img=[[UIButton alloc]initWithFrame:CGRectMake(k,5,90, 50)]; 
    UIImage *buttonImage= [UIImage imageNamed:[image_array1 objectAtIndex:m]]; 
    [btn_img setBackgroundImage:buttonImage forState:UIControlStateNormal]; 
    btn_img.tag=i; 
    UITapGestureRecognizer *tap_gr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; 
    [tap_gr setNumberOfTapsRequired:1]; 
    [btn_img addGestureRecognizer:tap_gr]; 
    [tap_gr release]; 
    [cell.contentView addSubview:btn_img]; 
    k=k+95; 
    [btn_img release]; 
    m++; 
} 
} 

我很困惑如何在didselectrowatindexpath中寫入。

謝謝!

Senthilkumar

回答

0

您可以使用UITapGestureRecognizer。如下所示將輕拍手勢識別器添加到btn_img

UITapGestureRecognizer *tap_gr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; 
[tap_gr setNumberOfTapsRequired:1]; 
[btn_img addGestureRecognizer:tap_gr]; 
[tap_gr release]; 

在你的柄敲擊的方法,你可以訪問被竊聽圖像視圖的tag,並做必要的行動。

- (void)handleTap:(id)sender { 

    NSLog(@"Tapped ImageView tag : %d", [sender tag]); 
} 
+0

謝謝西蒙,我嘗試這種方式正確顯示圖像,但我嘗試將圖像單元格向上滾動顯示爲隱藏圖像。我做的事? – Senthilkumar 2011-02-09 04:40:07

0

您可以使用UICustomButtons爲purpose.Set按鈕的背景圖片,設置按鈕的ID,而分配圖像特定button.So當一個特定的按鈕被竊聽,該按鈕的id可以被識別。寫一個方法來執行所需的操作。

乾杯

+0

Hai Aditya我也用UIBUTTON。但我無法選擇特定的圖像。它選擇該行中的所有圖像。所以請給出關於如何選擇一個單元格中的特定圖像編碼的想法? – Senthilkumar 2011-02-08 13:02:32

相關問題