How to detect one button in UITableviewCell, I have 10 UIButton in UITableViewCell, next when I click on UIButton then i
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.