Voice Chat UI fixes

This commit is contained in:
Ilya Laktyushin
2020-12-05 20:32:22 +04:00
parent 096ae2a790
commit e26feea167
8 changed files with 68 additions and 54 deletions

View File

@@ -899,12 +899,17 @@ open class GridNode: GridNodeScroller, UIScrollViewDelegate {
let itemInBounds = bounds.intersects(item.frame)
var absoluteRect = item.frame
if let itemNode = self.itemNodes[item.index] {
if itemNode.frame != item.frame {
itemNode.frame = item.frame
}
itemNode.updateLayout(item: self.items[item.index], size: item.frame.size, isVisible: bounds.intersects(item.frame), synchronousLoads: synchronousLoads && itemInBounds)
itemNode.updateAbsoluteRect(item.frame, within: bounds.size)
if let supernode = self.supernode {
absoluteRect = supernode.convert(itemNode.bounds, from: itemNode)
}
itemNode.updateAbsoluteRect(absoluteRect, within: bounds.size)
} else {
let itemNode = self.items[item.index].node(layout: presentationLayoutTransition.layout.layout, synchronousLoad: synchronousLoads && itemInBounds)
itemNode.frame = item.frame
@@ -912,7 +917,11 @@ open class GridNode: GridNodeScroller, UIScrollViewDelegate {
addedNodes = true
itemNode.updateLayout(item: self.items[item.index], size: item.frame.size, isVisible: bounds.intersects(item.frame), synchronousLoads: synchronousLoads)
self.setupNode?(itemNode)
itemNode.updateAbsoluteRect(item.frame, within: bounds.size)
if let supernode = self.supernode {
absoluteRect = supernode.convert(itemNode.bounds, from: itemNode)
}
itemNode.updateAbsoluteRect(absoluteRect, within: bounds.size)
}
}