tushars tushars - 1 year ago 59
iOS Question

ios uiimagview tap gesture not recognised

The imageview inside tableview cell the tap gesture not working.

following is code.

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;

CGRect frame1 = CGRectMake(5, 0, 320, 30);
UILabel *label = [[UILabel alloc] initWithFrame:frame1];
label.text = @"READ THIS";
label.font = [UIFont fontWithName:@"Helvetica" size:15];
cell.backgroundColor = [UIColor colorWithRed:231.0f/255.0f green:234.0f/255.0f blue:235.0f/255.0f alpha:1.0];

UIImageView *downImage =[[UIImageView alloc] initWithFrame:CGRectMake(270,0,35,35)];
downImage.image=[UIImage imageNamed:@"downimg.png"];
downImage.userInteractionEnabled = YES;
downImage.tag = indexPath.row;

UITapGestureRecognizer *tapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myFunction:)];
tapped.numberOfTapsRequired = 1;
[downImage addGestureRecognizer:tapped];

[label addSubview:downImage];
[cell.contentView addSubview:label];

Answer Source

Do set UserInteractionEnabled to YES for the UILabel on which you are adding the UIImageView as subview

Property userInteractionEnabled is disabled for UILabel as well by default.