Я хочу сделать анимацию кликов для каждой кнопки и ячейки в моем приложении, в основном для всех представлений с действиями. При каждом щелчке хочу сероватое мигание.
Проблема заключается в следующем: я создал собственный класс для кнопки, и кнопки в приложении работают просто отлично. Проблема с клетками, поскольку я пытаюсь сделать анимацию похожей на rx. У меня есть ячейки UITableView, а также ячейки UICollectionView и некоторые виды здесь и там, поэтому я попытался создать расширение UIView, которое распознает касания и, если оно есть, воспроизводится анимация. Я пытался сделать это с расширением:
import UIKit
import RxSwift
extension UIView {
func makeSelectionIndicatable(forInitialBackgroundColor color: UIColor) {
let tapGesture = UILongPressGestureRecognizer()
tapGesture.minimumPressDuration = 0
tapGesture.cancelsTouchesInView = false
addGestureRecognizer(tapGesture)
tapGesture.rx.event.bind(onNext: { [weak self] recognizer in
if recognizer.state == .began {
self?.backgroundColor = .global(color: .athens_gray)
}
if recognizer.state == .ended {
self?.backgroundColor = color
}
if recognizer.state == .cancelled {
self?.backgroundColor = color
}
})
}
}
Очевидно, что удаление отсутствует, но если я добавлю его в расширение - ничего не получится. Мой вопрос: как сделать анимацию похожей на rx, чтобы она была видна через приложение? Может я обдумываю и есть более простые способы? Спасибо заранее