我在故事板中使用自定义单元格,其中包含未知数量的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的层次结构
我想知道哪个UIImageView被点击以及它所在的单元格。
答案 0 :(得分:0)
您可以为每张图片指定标签。那么你可以通过它的标签来识别图像。因此可以知道拍摄哪个图像。如果这不是您需要的,请告诉我
<强>代码
一个整数,可用于标识应用程序中的视图对象。
@property(nonatomic) NSInteger tag
默认值为0.您可以设置此标记的值,并稍后使用该值来标识视图。
适用于iOS 2.0及更高版本。
– tableView:didSelectRowAtIndexPath:
在tableview中选择行时调用此方法。要知道选择了哪一行,请使用
int row= indexpath.row;