Swift tableview 单元格单选按钮实现

0 uitableview ios swift

我需要在表格视图自定义单元格中放置一个单选按钮。每当用户单击表格视图单元格或按钮时,单选按钮就需要工作。我尝试使用下面的代码,但执行得不好。

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

        let cell:TableViewCell = self.tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as! TableViewCell

        cell.country.text = self.animals[indexPath.row]

        cell.selectionStyle = UITableViewCellSelectionStyle.none;

        if selectedRows.contains(indexPath)
        {
            cell.radioButton.setImage(UIImage(named:"check.png"), for: .normal)
        }
        else
        {
            cell.radioButton.setImage(UIImage(named:"uncheck.png"), for: .normal)
        }

        return cell
    }
Run Code Online (Sandbox Code Playgroud)

Ash*_*lls 5

这是一个UITableView使用故事板创建单选按钮的绝佳解决方案,需要代码 - 并且有 2 个很棒的酷提示!

  • 确保您的表视图设置为单选,并使用静态单元格

  • 添加一个基本单元格,将图像设置为未选中的按钮图像,并确保选择样式为默认

在此输入图像描述

  • 酷提示#1:单击并选择单元格的图像视图,然后将其突出显示的图像设置为选中状态。当单元格突出显示或选择时,其中的图像视图将更改以显示其突出显示状态。

在此输入图像描述

  • 酷提示#2:接下来,将 a 拖到UIView单元格的内容视图中,位于文本标签后面。由于您使用的是基本单元格,因此您无法将其直接放入单元格中,而是需要将其拖动到左侧的文档大纲中。然后将其连接到单元格选定的背景视图出口。当选择(或突出显示)单元格时,该视图将显示在背景中。在本例中,我们将使用它来防止出现灰色背景,因此将其颜色设置为Clear。请注意,视图的大小并不重要,也无需设置任何约束 - 它会在运行时自动调整大小以匹配单元格。

在此输入图像描述

  • 最后,复制此单元格并更改每个单选按钮选项的文本。构建并运行,您就拥有了无需代码的单选按钮!