mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Update settings screen
This commit is contained in:
@@ -274,6 +274,8 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
||||
private final var itemNodes: [ListViewItemNode] = []
|
||||
private final var itemHeaderNodes: [Int64: ListViewItemHeaderNode] = [:]
|
||||
|
||||
public final var itemHeaderNodesAlpha: CGFloat = 1.0
|
||||
|
||||
public final var displayedItemRangeChanged: (ListViewDisplayedItemRange, Any?) -> Void = { _, _ in }
|
||||
public private(set) final var displayedItemRange: ListViewDisplayedItemRange = ListViewDisplayedItemRange(loadedRange: nil, visibleRange: nil)
|
||||
|
||||
@@ -3215,6 +3217,8 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
||||
stickLocationDistanceFactor = max(0.0, min(1.0, stickLocationDistance / itemHeaderHeight))
|
||||
}
|
||||
visibleHeaderNodes.insert(id)
|
||||
|
||||
let initialHeaderNodeAlpha = self.itemHeaderNodesAlpha
|
||||
if let headerNode = self.itemHeaderNodes[id] {
|
||||
switch transition.0 {
|
||||
case .immediate:
|
||||
@@ -3252,15 +3256,16 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
||||
headerNode.animateRemoved(duration: 0.2)
|
||||
}
|
||||
} else if hasValidNodes && headerNode.alpha.isZero {
|
||||
headerNode.alpha = 1.0
|
||||
headerNode.alpha = initialHeaderNodeAlpha
|
||||
if animateInsertion {
|
||||
headerNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2)
|
||||
headerNode.layer.animateAlpha(from: 0.0, to: initialHeaderNodeAlpha, duration: 0.2)
|
||||
headerNode.layer.animateScale(from: 0.2, to: 1.0, duration: 0.2)
|
||||
}
|
||||
}
|
||||
headerNode.updateStickDistanceFactor(stickLocationDistanceFactor, transition: transition.0)
|
||||
} else {
|
||||
let headerNode = item.node()
|
||||
headerNode.alpha = initialHeaderNodeAlpha
|
||||
if headerNode.item !== item {
|
||||
item.updateNode(headerNode, previous: nil, next: nil)
|
||||
headerNode.item = item
|
||||
@@ -3276,7 +3281,7 @@ open class ListView: ASDisplayNode, UIScrollViewAccessibilityDelegate, UIGesture
|
||||
self.addSubnode(headerNode)
|
||||
}
|
||||
if animateInsertion {
|
||||
headerNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.3)
|
||||
headerNode.layer.animateAlpha(from: 0.0, to: initialHeaderNodeAlpha, duration: 0.3)
|
||||
headerNode.layer.animateScale(from: 0.2, to: 1.0, duration: 0.3)
|
||||
}
|
||||
headerNode.updateStickDistanceFactor(stickLocationDistanceFactor, transition: .immediate)
|
||||
|
||||
Reference in New Issue
Block a user