user9683424
user9683424

Reputation:

swift ios trigger a table index when button is pressed

I have a button in my table and when it was click it will trigger the selected table index. for example when i click the button at a selected index it will trigger the code below. Thank You

code

func indexWasPressed(cell: ToDoListTableViewCell) {
 trigger it here
}


func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
            print("You selected cell #\(indexPath.item)!")

Upvotes: 1

Views: 886

Answers (2)

Manish Mahajan
Manish Mahajan

Reputation: 2092

Use below code to get index from TableViewCell:

func indexWasPressed(cell: ToDoListTableViewCell) {
    let indexPath = yourTableView.indexPath(for: cell)
    let index = indexPath.row
} 

Upvotes: 2

Pramod Reddy
Pramod Reddy

Reputation: 126

try this:-

 @objc func buttonPressed(sender: UIButton) {
    // printing selected row
  print("index path: \(sender.tag)")

    //do you want section try this
   var section = Int()

    let pointInTable: CGPoint = sender.convert(sender.bounds.origin, to: self.tblView)
    let cellIndexPath = self.tblView.indexPathForRow(at: pointInTable)
    section(cellIndexPath!)
    section = cellIndexPath!.row
    print(section)


}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    print("cell for rows in \(indexPath.section)")


        let cell = tableView.dequeueReusableCell(withIdentifier: "cellIdentifire", for: indexPath) as! yourcell

        cell.yourbutton.tag = indexpath.row

        cell.yourbutton.addTarget(self, action: #selector(buttonpressed(sender:)), for: UIControlEvents.touchUpInside)
        }

Upvotes: 0

Related Questions