iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效

- (void)viewDidLoad {

    [super viewDidLoad];

    _tableView.rowHeight=44;

   //添加,手势实现代理

    UITapGestureRecognizer*tap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapClicl:)];

    tap.delegate=self;

    self.view.userInteractionEnabled=YES;

    

    [self.view addGestureRecognizer:tap];

    self.tableView.backgroundColor=[UIColor groupTableViewBackgroundColor];

    // Do any additional setup after loading the view, typically from a nib.

}


- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

{

    //输出点击的View

    NSLog(@"点击的View%@", NSStringFromClass([touch.view class]));

    

    // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件

    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {

        return NO;

    }

    return YES;

}


-(void)tapClicl:(UITapGestureRecognizer*)tap

{

    NSLog(@"点击事件");

}


-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

    return 10;

}


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

{

    UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@"cell"];

    if (cell==nil) {

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

        UITextField*text=[[UITextField alloc]initWithFrame:CGRectMake(self.view.frame.size.width/2, 0, 160, 44)];

        text.placeholder=@"请输入";

        [cell.contentView addSubview:text];

    }

    

    return cell;

}


-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(nonnull NSIndexPath *)indexPath

{

    NSLog(@"选择%ld",indexPath.row);

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值