which cell button has pressed in tableView in swift 3

前端 未结 2 1636
悲哀的现实
悲哀的现实 2021-02-11 08:20

I have read similar questions like this but these codes didn\'t worked for me so please help : I have a table view with some buttons in each cells - This table view is factor fo

相关标签:
2条回答
  • 2021-02-11 08:37

    Create IBAction for you button in the custom cell class then declare a block that will be called on button click.

    var ButtonHandler:(()-> Void)!
    
        @IBAction func ButtonClicked(_ sender: Any) {
                self.ButtonHandler()
            }
    

    Then in your tableview class inside the cell for row method,

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell = playlistTableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomTableViewCell
            cell.ButtonHandler = {()-> Void in
                // your code 
            }
            return cell
    }
    
    0 讨论(0)
  • 2021-02-11 08:59
      Here is update
    
    just leave it, i explained it more simple,
    create a button action in your cell class,then
    Writre the code:-
    
    > //Cell class
    
    protocol CellDelegate: class {
        func didTapCell(index: IndexPath)
    }
      var delegateCell:CellDelegate?
      var indexPath:IndexPath?
     @IBAction func buttonCellClick(_ sender: Any) {
            delegateCell?.didTapCell(index: indexPath!)
        }
    
    > //In ViewController
    
     cell.delegateCell = self
     cell.indexPath = indexPath
    
     func didTapCell(index: IndexPath) {
            print("PRESS BUTTON >> \(index.row)")
        }
    
    0 讨论(0)
提交回复
热议问题