自定义UITableViewCell 中UIButton 的确定事件

本文介绍了一种简单方法来确定用户在UITableView中点击的具体行。通过在按钮上设置target,并利用event参数和indexPathForRowAtPoint方法,可以准确地获取到被点击单元格的位置。

其实很简单

在button上德target 中写下如下代码就知道,所选的哪一行,

原理很简单:

我们可以利用 event 参数,在 btnClicked 方法中判断出事件发生在UITableView的哪一个 cell 上。因为 UITableView 有一个很关键的方法 indexPathForRowAtPoint,可以根据触摸发生的位置,返回触摸发生在哪一个 cell 的indexPath。 而且通过 event 对象,我们也可以获得每个触摸在视图中的位置:


eg:

[button addTarget:self action:@selector(btnClicked:event:)  forControlEvents:UIControlEventTouchUpInside];

- (void)btnClicked:(id)senderevent:(id)event

{

     NSSet *touches =[event allTouches];

    UITouch *touch =[touches anyObject];

    CGPointcurrentTouchPosition = [touch locationInView:self.tableView];

   NSIndexPath *indexPath= [self.tableViewindexPathForRowAtPoint:currentTouchPosition];//得到当前的index。

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值