如何在不使用tag的情况下更改tableviewCell中的图像按钮

sum*_*esh 3 iphone uitableview ios swift

我在tableview单元格中有一个按钮.我希望最初按钮有一个图像"A",当用户点击它时,它会变为"B",当用户再次点击它时它会变回"A".

让这两个图像为"A"和"B"在这个场景中我无法使用,tag因为我用它来确定用户点击了哪个按钮indexPath.row

下面是我的按钮功能的当前状态.

@IBAction func setNotification(sender: UIButton!) {

        cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: sender.tag, inSection: 0)) as! CustomTableViewCell

        sender.setImage(UIImage(named: "B")!, forState: .Normal)
currentRegion = CLCircularRegion(center: CLLocationCoordinate2D(latitude: latitude ,longitude:longitude), radius: 10, identifier: "xyz")
Run Code Online (Sandbox Code Playgroud)

这也是我的cellForRowAtIndexPath功能看起来的样子

cell.notifybutton.addTarget(self, action: "setNotification:", forControlEvents: UIControlEvents.TouchUpInside)
        cell.notifybutton.setImage(UIImage(named: "A"), forState: UIControlState.Normal)
        cell.notifybutton.tag = indexPath.row
Run Code Online (Sandbox Code Playgroud)

Dha*_*iya 7

您不使用标记更改按钮图像请遵循此代码.

您的cellForRowAtIndexPath函数为不同的状态设置了两个按钮图像

cell.notifybutton.setImage(UIImage(named: "A"), forState: UIControlState.Normal)
cell.notifybutton.setImage(UIImage(named: "B"), forState: UIControlState.Selected)
cell.notifybutton.selected = false //default A image display
Run Code Online (Sandbox Code Playgroud)

您点击按钮的方法

@IBAction func setNotification(sender: UIButton!) {
    if (sender.selected)
    {
         sender.selected = false
    }
    else
   {
        sender.selected = true
   }
}
Run Code Online (Sandbox Code Playgroud)