mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix scrolling
This commit is contained in:
parent
53bdcd7ef7
commit
e578479e7b
@ -4,7 +4,6 @@ import SwiftSignalKit
|
|||||||
import UIKitRuntimeUtils
|
import UIKitRuntimeUtils
|
||||||
import ObjCRuntimeUtils
|
import ObjCRuntimeUtils
|
||||||
|
|
||||||
private let infiniteScrollSize: CGFloat = 10000.0
|
|
||||||
private let insertionAnimationDuration: Double = 0.4
|
private let insertionAnimationDuration: Double = 0.4
|
||||||
|
|
||||||
private struct VisibleHeaderNodeId: Hashable {
|
private struct VisibleHeaderNodeId: Hashable {
|
||||||
@ -162,6 +161,8 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
|||||||
private final var lastContentOffsetTimestamp: CFAbsoluteTime = 0.0
|
private final var lastContentOffsetTimestamp: CFAbsoluteTime = 0.0
|
||||||
private final var ignoreScrollingEvents: Bool = false
|
private final var ignoreScrollingEvents: Bool = false
|
||||||
|
|
||||||
|
private let infiniteScrollSize: CGFloat
|
||||||
|
|
||||||
private final var displayLink: CADisplayLink!
|
private final var displayLink: CADisplayLink!
|
||||||
private final var needsAnimations = false
|
private final var needsAnimations = false
|
||||||
|
|
||||||
@ -369,6 +370,8 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
|||||||
|
|
||||||
self.scroller = ListViewScroller()
|
self.scroller = ListViewScroller()
|
||||||
|
|
||||||
|
self.infiniteScrollSize = 10000.0
|
||||||
|
|
||||||
super.init()
|
super.init()
|
||||||
|
|
||||||
self.isAccessibilityContainer = true
|
self.isAccessibilityContainer = true
|
||||||
@ -837,13 +840,7 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
|||||||
print("Scrolling delta: \(delta)")
|
print("Scrolling delta: \(delta)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.previousDidScrollTimestamp = timestamp
|
self.previousDidScrollTimestamp = timestamp*/
|
||||||
|
|
||||||
if let displayLink = self.scroller.getIvarValue("_scrollHeartbeat") as? CADisplayLink {
|
|
||||||
if #available(iOS 10.0, *) {
|
|
||||||
displayLink.preferredFramesPerSecond = 120
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
//CATransaction.begin()
|
//CATransaction.begin()
|
||||||
//CATransaction.setDisableActions(true)
|
//CATransaction.setDisableActions(true)
|
||||||
@ -871,7 +868,7 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
|||||||
self.trackingOffset += -deltaY
|
self.trackingOffset += -deltaY
|
||||||
}
|
}
|
||||||
|
|
||||||
self.enqueueUpdateVisibleItems(synchronous: true)
|
self.enqueueUpdateVisibleItems(synchronous: false)
|
||||||
|
|
||||||
var useScrollDynamics = false
|
var useScrollDynamics = false
|
||||||
|
|
||||||
@ -1531,8 +1528,12 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
self.scroller.contentSize = CGSize(width: self.visibleSize.width, height: infiniteScrollSize * 2.0)
|
self.scroller.contentSize = CGSize(width: self.visibleSize.width, height: infiniteScrollSize * 2.0)
|
||||||
|
if abs(self.scroller.contentOffset.y - infiniteScrollSize) > infiniteScrollSize / 2.0 {
|
||||||
self.lastContentOffset = CGPoint(x: 0.0, y: infiniteScrollSize)
|
self.lastContentOffset = CGPoint(x: 0.0, y: infiniteScrollSize)
|
||||||
self.scroller.contentOffset = self.lastContentOffset
|
self.scroller.contentOffset = self.lastContentOffset
|
||||||
|
} else {
|
||||||
|
self.lastContentOffset = self.scroller.contentOffset
|
||||||
|
}
|
||||||
}
|
}
|
||||||
self.ignoreScrollingEvents = wasIgnoringScrollingEvents
|
self.ignoreScrollingEvents = wasIgnoringScrollingEvents
|
||||||
}
|
}
|
||||||
|
@ -109,6 +109,8 @@
|
|||||||
} else {
|
} else {
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+ (NSArray<NSString *> * _Nonnull)getIvarList:(Class _Nonnull)classValue {
|
+ (NSArray<NSString *> * _Nonnull)getIvarList:(Class _Nonnull)classValue {
|
||||||
NSMutableArray<NSString *> *result = [[NSMutableArray alloc] init];
|
NSMutableArray<NSString *> *result = [[NSMutableArray alloc] init];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user