To detect a UIButton
in a UITableViewCell
, you can follow any of the below approaches:
1. Use UIButton
IBOutlets
You can create an IBOutlet
corresponding to each UIButton
in the UITableViewCell
and use those outlets to identify which button action is performed.
Example:
class CustomCell: UITableViewCell
{
@IBOutlet weak var button1: UIButton!
@IBOutlet weak var button2: UIButton!
@IBOutlet weak var button3: UIButton!
@IBOutlet weak var button4: UIButton!
@IBOutlet weak var button5: UIButton!
@IBAction func onTapButton(_ sender: UIButton)
{
if sender === button1
{
//button1 specific code here
}
else if sender === button2
{
//button2 specific code here
}
//and so on..
}
}
2. Use UIButton
Tag
property
You can provide a tag
value to each of the UIButton
present in the UITableViewCell
and then use that tag to identify the specific button.
Example:
class CustomCell: UITableViewCell
{
@IBAction func onTapButton(_ sender: UIButton)
{
if sender.tag == 1
{
//button1 has a tag = 1
//button1 specific code here
}
else if sender.tag == 2
{
//button2 has a tag = 2
//button2 specific code here
}
//and so on..
}
}
Edit:
For setting different images in selected/unselected state of UIButton, you can use storyboard for that:
For Unselected state:
For Selected state:
Let me know if you still face any issues.