UITableViewCell мигает при изменении высоты - PullRequest
0 голосов
/ 07 февраля 2019

Я использую Авто Layout ячейки с автоматическим height вычислением.Когда я изменяю одно из ограничений высоты ячейки, вызываю beginUpdates() и endUpdates() для UITableView, все перестраивается правильно, но анимация работает не так, как я хочу - я бы хотел, чтобы высота ячейки простоувеличить, не моргая и не двигая своей верхней частью.От чего это может зависеть?

Я прилагаю GIF с тем, как мне сейчас неправильно анимировать.https://vk.com/doc19187792_491076127

1 Ответ

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

Вы можете написать расширение для своего класса Cell, добавить анимацию и добавить свою ячейку при каждом ударе. Также вы должны написать блок завершения для этого, когда ваша анимация закончится, вызывается высота для строки at.

Это не полное решение, но вы можете отредактировать его, чтобы решить проблему.

extension UIView {

func glow(_ completion: @escaping () -> ()){

    let opacity = CASpringAnimation(keyPath: "opacity")
    let pulse = CASpringAnimation(keyPath: "transform.scale")
    let group = CAAnimationGroup()

    pulse.fromValue = 0.4
    pulse.toValue = 1

    opacity.fromValue = 0
    opacity.toValue = 0.65

    group.animations = [pulse, opacity]
    group.duration = 1.1
    group.timingFunction = CAMediaTimingFunction(name: .easeOut)
    group.autoreverses = false
    group.repeatCount = 0

    layer.add(group, forKey: nil)

    DispatchQueue.main.asyncAfter(deadline: .now()+1) {
        completion()
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...