tushars tushars - 1 year ago 87
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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download