Как я могу синхронизировать анимацию в табличном представлении с Swift - PullRequest
0 голосов
/ 03 октября 2019

У меня есть табличное представление с анимацией в каждой ячейке, анимация представляет собой мигающий круг, но при прокрутке новая строка мигает в разное время. Идея в том, что все круги мигают одновременно.

Спасибо за любую помощь. Я 2 дня пробовал разные вещи. Последнее - сделать собственную анимацию с таймером и сэкономить время в глобальной переменной. Но я думаю, что в основной анимации должно быть что-то для этого.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "myClassCell", for: indexPath) as! MyClassCell

    cell.circleBlinking.alpha = 0

    View.animate(withDuration: 1, delay: 0, options: [.repeat, .allowUserInteraction, .curveLinear], animations: {
        cell.circleBlinking.alpha = 1} )
    }

    return cell
}

1 Ответ

0 голосов
/ 04 октября 2019

Наконец я нашел решение для требования. Я сделал анимацию с помощью таймера.

  1. Я создал глобальный таймер, который изменяет глобальную переменную каждые 1/24 секунды от 0 до 1 и от 1 до 0
  2. При прохождении мимоcellForRowAt Я создаю другой таймер только для этой ячейки, но функция просто дает значение альфа из моей глобальной переменной, которая модифицируется основным таймером. Таким образом, у меня есть синхронизация всех кругов

Если кто-то знает, как сделать это с живым приветствием с вашим ответом.

Я уже загрузил код в Github с решением.

https://github.com/wilmanro77/TableViewWithAnimationInCells

...