嵌入 UITableView 时 UISwitch 动画中断
UISwitch animation broken when embedded in UITableView
我发现当在 table 视图行中使用 UISwitch 时,切换动画并不总是完成。开关的背景保持灰色,而不是再次变白。 video 和下图显示了问题。有谁知道为什么会这样?这似乎是一个错误,但也许我遗漏了什么。
代码可用 here。
我认为这是主线程上的可重用问题。您可以使用下面的代码,其中 switch action 运行 on main thread async
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()
}
我发现当在 table 视图行中使用 UISwitch 时,切换动画并不总是完成。开关的背景保持灰色,而不是再次变白。 video 和下图显示了问题。有谁知道为什么会这样?这似乎是一个错误,但也许我遗漏了什么。
代码可用 here。
我认为这是主线程上的可重用问题。您可以使用下面的代码,其中 switch action 运行 on main thread async
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()
}