diff --git a/submodules/ContextUI/Sources/ContextController.swift b/submodules/ContextUI/Sources/ContextController.swift index cf9772e795..1cabcabd73 100644 --- a/submodules/ContextUI/Sources/ContextController.swift +++ b/submodules/ContextUI/Sources/ContextController.swift @@ -546,7 +546,11 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi let referenceNode = transitionInfo.referenceNode self.contentContainerNode.contentNode = .reference(node: referenceNode) self.contentAreaInScreenSpace = transitionInfo.contentAreaInScreenSpace - let projectedFrame = convertFrame(referenceNode.view.bounds, from: referenceNode.view, to: self.view) + var projectedFrame = convertFrame(referenceNode.view.bounds, from: referenceNode.view, to: self.view) + projectedFrame.origin.x += transitionInfo.insets.left + projectedFrame.size.width -= transitionInfo.insets.left + transitionInfo.insets.right + projectedFrame.origin.y += transitionInfo.insets.top + projectedFrame.size.width -= transitionInfo.insets.top + transitionInfo.insets.bottom self.originalProjectedContentViewFrame = (projectedFrame, projectedFrame) } case let .extracted(source): @@ -1461,7 +1465,7 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi transition.updateFrame(node: self.scrollNode, frame: CGRect(origin: CGPoint(), size: layout.size)) - let actionsSideInset: CGFloat = layout.safeInsets.left + 11.0 + let actionsSideInset: CGFloat = layout.safeInsets.left + 12.0 var contentTopInset: CGFloat = max(11.0, layout.statusBarHeight ?? 0.0) if let _ = self.reactionContextNode { @@ -2018,10 +2022,12 @@ private final class ContextControllerNode: ViewControllerTracingNode, UIScrollVi public final class ContextControllerReferenceViewInfo { public let referenceNode: ContextReferenceContentNode public let contentAreaInScreenSpace: CGRect + public let insets: UIEdgeInsets - public init(referenceNode: ContextReferenceContentNode, contentAreaInScreenSpace: CGRect) { + public init(referenceNode: ContextReferenceContentNode, contentAreaInScreenSpace: CGRect, insets: UIEdgeInsets = UIEdgeInsets()) { self.referenceNode = referenceNode self.contentAreaInScreenSpace = contentAreaInScreenSpace + self.insets = insets } } diff --git a/submodules/TelegramUI/Sources/ChatController.swift b/submodules/TelegramUI/Sources/ChatController.swift index 2313b45ab6..642f3c84dd 100644 --- a/submodules/TelegramUI/Sources/ChatController.swift +++ b/submodules/TelegramUI/Sources/ChatController.swift @@ -8374,7 +8374,7 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G })) }))) } - let contextController = ContextController(account: strongSelf.context.account, presentationData: strongSelf.presentationData, source: .reference(ChatControllerContextReferenceContentSource(controller: strongSelf, sourceNode: backButtonNode, insets: UIEdgeInsets(top: 0.0, left: 0.0, bottom: 4.0, right: 0.0))), items: .single(ContextController.Items(content: .list(items))), gesture: gesture) + let contextController = ContextController(account: strongSelf.context.account, presentationData: strongSelf.presentationData, source: .reference(ChatControllerContextReferenceContentSource(controller: strongSelf, sourceNode: backButtonNode, insets: UIEdgeInsets(), contentInsets: UIEdgeInsets(top: 0.0, left: -15.0, bottom: 0.0, right: -15.0))), items: .single(ContextController.Items(content: .list(items))), gesture: gesture) strongSelf.presentInGlobalOverlay(contextController) }) } @@ -14564,15 +14564,17 @@ private final class ChatControllerContextReferenceContentSource: ContextReferenc private let controller: ViewController private let sourceNode: ContextReferenceContentNode private let insets: UIEdgeInsets + private let contentInsets: UIEdgeInsets - init(controller: ViewController, sourceNode: ContextReferenceContentNode, insets: UIEdgeInsets) { + init(controller: ViewController, sourceNode: ContextReferenceContentNode, insets: UIEdgeInsets, contentInsets: UIEdgeInsets = UIEdgeInsets()) { self.controller = controller self.sourceNode = sourceNode self.insets = insets + self.contentInsets = contentInsets } func transitionInfo() -> ContextControllerReferenceViewInfo? { - return ContextControllerReferenceViewInfo(referenceNode: self.sourceNode, contentAreaInScreenSpace: UIScreen.main.bounds.inset(by: insets)) + return ContextControllerReferenceViewInfo(referenceNode: self.sourceNode, contentAreaInScreenSpace: UIScreen.main.bounds.inset(by: self.insets), insets: self.contentInsets) } }