将选择器分配给customViewCell中的UIImageView

时间:2014-01-04 16:43:18

标签: objective-c uiimageview selector

我在故事板中使用自定义单元格,其中包含未知数量的UIImage控件。我创建了像这样的UIImage控件:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *SubCellIdentifier = @"MultiEmailCell";

        UITapGestureRecognizer *tapped = [[UITapGestureRecognizer alloc]
                                          initWithTarget:self
                                          action:@selector(imageTapped:forIndexPath:)];

        tapped.numberOfTapsRequired = 1;

    for (int i = 0; i < contact.emailArray.count; i++) {
        UIImageView *selectedEmailState     = [[UIImageView alloc] initWithFrame:
                                               CGRectMake(268, (20 + (i * 50)), 32, 32)];
        selectedEmailState.image = [UIImage imageNamed:@"Selected_None.png"]
        selectedEmailState.tag = (i+1)*1000+1;
        selectedEmailState.userInteractionEnabled = YES;
        [selectedEmailState addGestureRecognizer:tapped];
        }

我想用两个参数为每个UIImageView创建一个选择器,当我在当前单元格中点击UIImage时,选择器参数将是tapped UIImage和当前indexPath的标记。我该如何实现呢?

这是我的tableView的层次结构

hierarchy

我想知道哪个UIImageView被点击以及它所在的单元格。

1 个答案:

答案 0 :(得分:0)

您可以为每张图片指定标签。那么你可以通过它的标签来识别图像。因此可以知道拍摄哪个图像。如果这不是您需要的,请告诉我

<强>代码
一个整数,可用于标识应用程序中的视图对象。

@property(nonatomic) NSInteger tag

默认值为0.您可以设置此标记的值,并稍后使用该值来标识视图。

适用于iOS 2.0及更高版本。

UIView tag reference

– tableView:didSelectRowAtIndexPath: 在tableview中选择行时调用此方法。要知道选择了哪一行,请使用

int row= indexpath.row;