Fix context menu layout

This commit is contained in:
Ali
2022-01-18 22:03:48 +04:00
parent 257819f1af
commit e640bbfaae
2 changed files with 14 additions and 6 deletions

View File

@@ -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
}
}