IOS Swift 如何给Cell中的UIImageView添加点击事件

很多时候我们需要在Cell中点击他的子视图来干点不一样的操作,比如 点赞、评论、转发等按钮的操作,这时我们就需要对其子视图添加点击事件来实现(我也是个IOS菜鸟,这时我能想到的方法)。

第一步:我们需要在cellForRowAt方法中为Cell的子视图添加手势事件
这里我的子视图是UIImageView,添加手势事件的方法如下:

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let row = indexPath.row
        let model = mList[row]
        let cell = tableView.dequeueReusableCell(withIdentifier: "myCarCell", for: indexPath) as! MyCarCell
        cell.labelCarPlateNo.text = model.carPlateNo
        cell.labelCarType.text = model.carTypeName
        cell.labelCarVin.text = model.frameNo
        
        cell.imgEditCar.tag = row
        cell.imgDeleteCar.tag = row
        
        cell.imgEditCar.isUserInteractionEnabled = true
        cell.imgDeleteCar.isUserInteractionEnabled = true
        
        cell.imgEditCar.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(editCar(_:))))
        cell.imgDeleteCar.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(deleteCar(_:))))
        return cell
    }

第二步:获取点击子视图的下标,并相应子视图的方法

    /* 编辑车辆 */
    @objc func editCar(_ tap: UITapGestureRecognizer) {
        let img = tap.view as! UIImageView
        let row = img.tag
        print("editCar",row)
    }
    
    /* 删除车辆 */
    @objc func deleteCar(_ tap: UITapGestureRecognizer) {
        let img = tap.view as! UIImageView
        let row = img.tag
        print("deleteCar",row)
    }

这里说一下下标的获取方法,我们首先给UIImageView添加tag,tag的内容就是下标,在相应方法的时候获取UIImageView的tag这样我们就拿到下标了,触发了方法拿到了下标接下来该干嘛就干嘛就行拉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值