如何在表格视图单元格图像中使用uicontrolstate函数?

时间:2011-02-08 12:30:38

标签: objective-c uitableview ios4

在CellForRowAtIndext中使用uiimageview,如下所示

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];

}

通过这个我能够连续显示图像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

2 个答案:

答案 0 :(得分:0)

您可以使用UICustomButtons进行此目的。设置按钮的背景图像,在将图像分配给特定按钮时设置按钮的ID。因此,当点击特定按钮时,可以识别该按钮的ID。写一个执行所需操作的方法。

干杯

答案 1 :(得分: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]);
}