Various chat theme fixes

This commit is contained in:
Ilya Laktyushin
2021-09-12 16:01:19 +03:00
parent 705bcfc496
commit 811cf639fa
5 changed files with 120 additions and 52 deletions

View File

@@ -310,6 +310,13 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
private final var actionsForVSync: [() -> ()] = []
private final var inVSync = false
private var tapGestureRecognizer: UITapGestureRecognizer?
public final var tapped: (() -> Void)? {
didSet {
self.tapGestureRecognizer?.isEnabled = self.tapped != nil
}
}
private let frictionSlider = UISlider()
private let springSlider = UISlider()
private let freeResistanceSlider = UISlider()
@@ -386,7 +393,7 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
self.view.addSubview(self.scroller)
self.scroller.panGestureRecognizer.cancelsTouchesInView = true
self.view.addGestureRecognizer(self.scroller.panGestureRecognizer)
let trackingRecognizer = UIPanGestureRecognizer(target: self, action: #selector(self.trackingGesture(_:)))
trackingRecognizer.delegate = self
trackingRecognizer.cancelsTouchesInView = false
@@ -420,6 +427,12 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
self?.updateReordering(offset: offset)
}))
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.tapGesture(_:)))
tapGestureRecognizer.isEnabled = false
tapGestureRecognizer.delegate = self
self.view.addGestureRecognizer(tapGestureRecognizer)
self.tapGestureRecognizer = tapGestureRecognizer
self.displayLink = CADisplayLink(target: DisplayLinkProxy(target: self), selector: #selector(DisplayLinkProxy.displayLinkEvent))
self.displayLink.add(to: RunLoop.main, forMode: RunLoop.Mode.common)
@@ -449,6 +462,10 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
self.reorderFeedbackDisposable?.dispose()
}
@objc private func tapGesture(_ gestureRecognizer: UITapGestureRecognizer) {
self.tapped?()
}
private func displayLinkEvent() {
self.updateAnimations()
}