嵌入UITableView时,UISwitch动画损坏

时间:2019-02-21 14:00:52

标签: ios swift uitableview uiswitch

我观察到,当在表视图行中使用UISwitch时,切换动画并不总是完成。开关的背景保持灰色,而不是再次变白。 video和下面的图像显示了问题。有谁知道为什么会这样吗?这似乎是一个错误,但也许我缺少一些东西。

该代码可用here

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为这是主线程上可重用的问题。您可以使用以下代码在主线程异步上运行切换操作的地方

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as? Cell {
        cell.theSwitch.row = indexPath.row
        DispatchQueue.main.async {
            cell.theSwitch.setOn(self.array[indexPath.row], animated: false)
        }

        return cell
    }

    return UITableViewCell()
}