mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
30 lines
1015 B
Swift
30 lines
1015 B
Swift
import Foundation
|
|
import AsyncDisplayKit
|
|
import Display
|
|
|
|
func fixSearchableListNodeScrolling(_ listNode: ListView) {
|
|
var searchItemNode: ListViewItemNode?
|
|
var nextItemNode: ListViewItemNode?
|
|
|
|
listNode.forEachItemNode({ itemNode in
|
|
if let itemNode = itemNode as? ChatListSearchItemNode {
|
|
searchItemNode = itemNode
|
|
} else if searchItemNode != nil && nextItemNode == nil {
|
|
nextItemNode = itemNode as? ListViewItemNode
|
|
}
|
|
})
|
|
|
|
if let searchItemNode = searchItemNode {
|
|
let itemFrame = searchItemNode.apparentFrame
|
|
if itemFrame.contains(CGPoint(x: 0.0, y: listNode.insets.top)) {
|
|
if itemFrame.minY + itemFrame.height * 0.6 < listNode.insets.top {
|
|
if let nextItemNode = nextItemNode {
|
|
listNode.ensureItemNodeVisibleAtTopInset(nextItemNode)
|
|
}
|
|
} else {
|
|
listNode.ensureItemNodeVisibleAtTopInset(searchItemNode)
|
|
}
|
|
}
|
|
}
|
|
}
|