Анимация UISwitch прерывается при встраивании в UITableView - PullRequest
0 голосов
/ 21 февраля 2019

Я заметил, что анимация переключателя не всегда завершается, когда UISwitch используется в строках табличного представления.Фон переключателя остается серым, а не снова белым.A video и изображение ниже показывают проблему.кто-нибудь знает, почему это произошло?Это похоже на ошибку, но, возможно, я что-то упускаю.

Код доступен здесь .

enter image description here

1 Ответ

0 голосов
/ 21 февраля 2019

Я думаю, что это проблема многократного использования в главном потоке.Вы можете использовать код ниже, где действие переключателя выполняется в главном потоке 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()
}
...