Swift Tableview Cell 按钮不工作

问题描述 投票:0回答:0

我在让按钮在 Swift 的 tableview 单元格中工作时遇到问题。我在这里和周围的其他地方查看了几种解决方案,但似乎没有任何效果。我可能错过了一件让它正常工作的简单事情。

这是细胞:

import UIKit


class AddMealCell: UITableViewCell {

    
    @IBOutlet weak var dislikeButton: UIButton!
    @IBOutlet weak var likeButton: UIButton!
    @IBOutlet weak var familyMemberLabel: UILabel!
    
    override func awakeFromNib() {
        super.awakeFromNib()
    }
    
    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }
    
    func configureCell(member: FamilyMembers) {
        dislikeButton.tintColor = UIColor.gray
        likeButton.tintColor = UIColor.green
        self.familyMemberLabel.text = member.name
    }
}

这是主要 VC 中的表视图方法:

extension AddMealViewController: UITableViewDelegate, UITableViewDataSource{
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return familyMembers.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: "AddMealCell", for: indexPath) as? AddMealCell else {return UITableViewCell()}
        
        let member = familyMembers[indexPath.row]
        cell.configureCell(member: member)
        cell.likeButton.tag = indexPath.row
        cell.likeButton.addTarget(self, action: #selector(likeButtonDidTap(sender: )), for: .touchUpInside)

        return cell
    }
    
    @objc func likeButtonDidTap(sender: UIButton) {
        print("Like Button Tapped")
    } 
}

一切如常,但likeButton不可选(我还没有设置dislike)。我在 viewDidLoad 中设置了 tableview.delegate 和 tableview.datasource。不知道我还会错过什么。

swift uitableview button tableview cell
© www.soinside.com 2019 - 2024. All rights reserved.