UIImageView的轻击手势没有实现选择器

时间:2014-07-11 03:41:44

标签: ios objective-c uitableview uiimageview

所以我在UITableViewCell中有一个UIImageView。现在,我之前处理过类似的事情,并且我以相同的方式实现了。但这是我的问题。当我以编程方式将UITapGesureRecongizer设置为单元格图像视图时,我没有从我的日志中获得任何响应。这是我尝试过的。我已经尝试在UITableviewCell类中使用此代码:

UITableViewCell.m

    UITapGestureRecognizer *banner = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Banner:)];
    self.bannerImageView.userInteractionEnabled = YES;
    [self.bannerImageView addGestureRecognizer:banner];

-(void)Banner:(UITapGestureRecognizer *)gesture {

    NSLog(@"HERE !!!");

}

我也试过在TableViewController中使用相同的代码。理想情况下,我希望在此类中包含代码。

UITableViewController.m

UITapGestureRecognizer *banner = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Banner:)];
cell.bannerImageView.userInteractionEnabled = YES;
cell.bannerImageView addGestureRecognizer:banner;
-(void)Banner:(UITapGestureRecognizer *)gesture {

    NSLog(@"HERE !!!");

}

有些东西告诉我,我必须更改UIViews层次结构或'z-index'才能使用它?我没有想法。如果有人可以提供帮助那就太棒了。谢谢

2 个答案:

答案 0 :(得分:0)

可能发生的是您的手势识别器与安装在tableview,scrollview或tableview单元格上的手势识别器之一发生冲突。尝试订阅手势识别器的代理并实现方法

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

现在只需返回是以确认这是否真的是问题,您可以从那里微调任何产生的问题。

答案 1 :(得分:0)

试试这个:

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

    CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:@"yourIdentifierName"];

    UITapGestureRecognizer *banner = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Banner:)];

    [cel.bannerImageView setUserInteractionEnabled:YES];
    [cell.bannerImageView addGestureRecognizer:banner];


    if (cell == nil) {


        cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"yourIdentifierName"];

    }

    return cell;
}
-(void)Banner:(UITapGestureRecognizer *)gesture {

    NSLog(@"HERE !!!");

}