Skip to content

Commit

Permalink
Add translation toggling
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasdelgado committed Aug 30, 2023
1 parent 64e034c commit 667ef46
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions Source/Classes/OverlayContainerViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ open class OverlayContainerViewController: UIViewController {

/// The style of the container.
public let style: OverlayStyle
public var iPadLayout = false
public var landscapeLayout = false

private lazy var overlayPanGesture: OverlayTranslationGestureRecognizer = self.makePanGesture()
private lazy var overlayContainerView = OverlayContainerView()
Expand Down Expand Up @@ -206,6 +206,14 @@ open class OverlayContainerViewController: UIViewController {
setNeedsOverlayContainerHeightUpdate()
}

open func setTranslation(isEnabled: Bool) {
if isEnabled {
translationController?.delegate = self
} else {
translationController?.delegate = nil
}
}

// MARK: - Private

private func loadContainerViews() {
Expand All @@ -215,8 +223,13 @@ open class OverlayContainerViewController: UIViewController {
overlayTranslationContainerView.pinToSuperview()
overlayTranslationContainerView.addSubview(overlayTranslationView)
overlayTranslationView.addSubview(overlayContainerView)
if iPadLayout {
overlayTranslationView.pinToSuperview(edges: [.top, .left, .right])
if landscapeLayout {
if UIDevice.current.userInterfaceIdiom == .phone {
overlayTranslationView.pinToSuperview(edges: [.all])
} else {
overlayTranslationView.pinToSuperview(edges: [.top, .left, .right])
}

overlayContainerView.pinToSuperview(edges: [.left, .top, .right, .bottom])
} else {
overlayTranslationView.pinToSuperview(edges: [.bottom, .left, .right])
Expand All @@ -238,7 +251,7 @@ open class OverlayContainerViewController: UIViewController {
equalToConstant: 0
)
overlayContainerViewStyleConstraint?.priority = .defaultHigh
if !iPadLayout {
if !landscapeLayout {
let bottomConstraint = overlayContainerView.bottomAnchor.constraint(
greaterThanOrEqualTo: overlayTranslationView.bottomAnchor
)
Expand All @@ -254,7 +267,7 @@ open class OverlayContainerViewController: UIViewController {
translationController = HeightConstraintOverlayTranslationController(
translationHeightConstraint: translationHeightConstraint,
configuration: configuration,
isInverse: iPadLayout
isInverse: landscapeLayout
)
translationController?.delegate = self
translationController?.scheduleOverlayTranslation(
Expand Down

0 comments on commit 667ef46

Please sign in to comment.