Swift 中选中/未选中的 UIButton

Posted

技术标签:

【中文标题】Swift 中选中/未选中的 UIButton【英文标题】:Selected/Unselected UIButton in Swift 【发布时间】:2018-04-22 15:46:46 【问题描述】:

问题是我尝试在选择按钮时更改按钮的图像,但它只更改最后一个按钮。我实际上在另一个 *** 问题中找到了以下代码,但它不起作用。(我以编程方式创建了我的按钮)

var buttonSelect = UIButton(frame: CGRect(x: 340, y: 40, width: 40, height: 21))
var s = 1

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

    guard let cell  = tableView.dequeueReusableCell(withIdentifier: "FirstSection", for: indexPath) as? ShopTableViewCell else 
        fatalError("error")
    

    if indexPath.section == 0 
        buttonSelect.addTarget(self, action: #selector(ShopTableViewController.btnChoose), for: .touchUpInside)
        buttonSelect.tag = indexPath.row

        cell.contentView.addSubview(buttonSelect)
    


@IBAction  func btnAdd (_ sender: UIButton) 
    buttonSelect = UIButton(frame: CGRect(x: 280, y: 10, width: 40, height: 21))
    buttonSelect.setImage(UIImage(named : "buttontick"), for: .normal)

    //I add my button in each cell every time I pressed add button

    //other codes...



@IBAction func btnChoose(_ sender: UIButton) 

    if buttonSelect == sender 
        if s % 2 == 0 
            buttonSelect.setImage(UIImage(named : "notclicked"), for: .normal)
            s = s + 1
         else 
            buttonSelect.setImage(UIImage(named : "buttontick"), for: .normal)
            s = s + 1
        
    

【问题讨论】:

it only changes the last button 是什么意思,您想更改哪些按钮? 听起来您可能正在使用UITableViewController,所以如果这是真的,显示该代码代码可能会有所帮助。 请向我们提供更多代码和更多预期功能。 我在表格视图中创建了单元格,然后当我按下添加按钮时,它会创建带有按钮的新单元格,我想要的是当我按下内部按钮时它必须更改其图像,但它只会更改最后一个单元格' 按钮@Ladislav 您可以使用 github 或任何其他托管站点共享您的项目吗? 【参考方案1】:
  override func awakeFromNib() 
    setImage(#imageLiteral(resourceName: "ic_radio_button_unchecked"), for: .normal)
    setImage(#imageLiteral(resourceName: "ic_radio_button_checked"), for: .selected)

    self.addTarget(self, action: #selector(ToggleButton.tapped), for: .touchUpInside)
  

  @objc func tapped() 
    self.isSelected = !self.isSelected
  

【讨论】:

以上是关于Swift 中选中/未选中的 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

在Angular js中从jquery中选中还是取消选中?

如何在联系表格 7 WP 中选中复选框

如何从C#中获取ListView中选中某一行某一列的值

3.在选择框中选中之前已经选中的项。

如何在反应中选中/取消选中复选框列表

在android中选择性别,如radioButton