Fix media grid layout on orientation change

This commit is contained in:
Ilya Laktyushin 2020-09-28 19:01:13 +04:00
parent cbdfd5ea55
commit b3037d5f82
2 changed files with 4 additions and 2 deletions

View File

@ -798,6 +798,7 @@ final class ChatListSearchMediaNode: ASDisplayNode, UIScrollViewDelegate {
}
func update(size: CGSize, sideInset: CGFloat, bottomInset: CGFloat, visibleHeight: CGFloat, isScrollingLockedAtTop: Bool, expandProgress: CGFloat, presentationData: PresentationData, synchronous: Bool, transition: ContainedViewLayoutTransition) {
let previousParams = self.currentParams
self.currentParams = (size, sideInset, bottomInset, visibleHeight, isScrollingLockedAtTop, expandProgress, presentationData)
transition.updateFrame(node: self.scrollNode, frame: CGRect(origin: CGPoint(), size: CGSize(width: size.width, height: size.height)))
@ -805,7 +806,7 @@ final class ChatListSearchMediaNode: ASDisplayNode, UIScrollViewDelegate {
let availableWidth = size.width - sideInset * 2.0
let itemsLayout: ItemsLayout
if let current = self.itemsLayout {
if let current = self.itemsLayout, previousParams?.size.width == size.width {
itemsLayout = current
} else {
switch self.contentType {

View File

@ -1011,6 +1011,7 @@ final class PeerInfoVisualMediaPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScro
}
func update(size: CGSize, sideInset: CGFloat, bottomInset: CGFloat, visibleHeight: CGFloat, isScrollingLockedAtTop: Bool, expandProgress: CGFloat, presentationData: PresentationData, synchronous: Bool, transition: ContainedViewLayoutTransition) {
let previousParams = self.currentParams
self.currentParams = (size, sideInset, bottomInset, visibleHeight, isScrollingLockedAtTop, expandProgress, presentationData)
transition.updateFrame(node: self.scrollNode, frame: CGRect(origin: CGPoint(), size: size))
@ -1018,7 +1019,7 @@ final class PeerInfoVisualMediaPaneNode: ASDisplayNode, PeerInfoPaneNode, UIScro
let availableWidth = size.width - sideInset * 2.0
let itemsLayout: ItemsLayout
if let current = self.itemsLayout {
if let current = self.itemsLayout, previousParams?.size.width == size.width {
itemsLayout = current
} else {
switch self.contentType {