小编kil*_*dos的帖子

TapGestures 无法在自定义 TableViewCell 内工作

我正在将 TapGestureRecognizer 添加到自定义 TableViewCell 处的 UIImageView,但它没有调用其操作。当我点击图像时,它会触发 tableview 的 didSelectRowAt 委托方法。我没有使用任何故事板或 .xib。我已经使用通过 .xib 创建的 UI 完成了一千次,没有任何问题,但我不明白为什么以编程方式这不起作用。任何想法?

在我的自定义 TableViewCell 处:

var favButton = UIImageView()

override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
    super.init(style: style, reuseIdentifier: reuseIdentifier)
    
    addSubview(favButton)
    configureFavButton()      
}

func set(stock: Stock) {
        self.stock = stock
        favButton.image = UIImage(systemName: "heart.fill")?.withTintColor(.black, renderingMode: .alwaysOriginal)
    }

func configureFavButton() {

    // Creating constraints using SnapKit 
    favButton.snp.makeConstraints { make in
        make.trailing.equalToSuperview().inset(10)
        make.centerY.equalToSuperview()
        make.height.width.equalTo(30)
    }
    
    favButton.isUserInteractionEnabled = true
    favButton.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(removeFromFavorites)))

}

@objc func removeFromFavorites() {
    guard …
Run Code Online (Sandbox Code Playgroud)

uitableview uikit uiimageview uitapgesturerecognizer swift

1
推荐指数
1
解决办法
600
查看次数