自定义UITableViewCell中获取按钮所在Cell的indexPath


案例:

由于在应用开发过程中,需要实现一个功能:点击tableviewcell上的一个按钮,弹出popver窗口。为了设置弹出窗口箭头的准确位置,就必须知道坐标,这个坐标的计算的关键就在于获取该按钮所在cell的indexpath了。


难点:

tableview在滚动时存在循环的问题,所以仅仅在初始化cell时将按钮的tag设置为[indexPath row]是没用的


方法:

1.按照上面的方法将按钮的tag设置为[indexPath row](事实上我建议再加上一个较大的数字,比如[indexPath row]+1000,我想你应该不会只有按钮需要设置tag,如果和别的控件有相同的tag一定会带来很多麻烦~~~)

2.将cell的tag设置为和按钮的tag相同

3.按如下方法,在按钮触发事件中获取indexPath

- (void)detailInfo:(id)sender
{
    UIButton *detailButton = (UIButton *)sender;
    NSIndexPath *indexpath;
    for (UITableViewCell *cell in [self.tableView visibleCells]) {
        if (cell.tag == detailButton.tag) {
            indexpath = [self.tableView indexPathForCell:cell];
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值