diff --git a/Sources/Internal/UI/MCamera/MCamera+Config.swift b/Sources/Internal/UI/MCamera/MCamera+Config.swift index 3e1f3b93c..8307c38b2 100644 --- a/Sources/Internal/UI/MCamera/MCamera+Config.swift +++ b/Sources/Internal/UI/MCamera/MCamera+Config.swift @@ -24,5 +24,6 @@ extension MCamera { @MainActor class Config { // MARK: Others var appDelegate: MApplicationDelegate.Type? = nil + var originalOrientationLock: UIInterfaceOrientationMask = .all var isCameraConfigured: Bool = false }} diff --git a/Sources/Internal/UI/MCamera/MCamera.swift b/Sources/Internal/UI/MCamera/MCamera.swift index b80737778..a84b2e58e 100644 --- a/Sources/Internal/UI/MCamera/MCamera.swift +++ b/Sources/Internal/UI/MCamera/MCamera.swift @@ -144,7 +144,7 @@ private extension MCamera { } private extension MCamera { func lockScreenOrientation(_ orientation: UIInterfaceOrientationMask?) { - config.appDelegate?.orientationLock = orientation ?? .all + config.appDelegate?.orientationLock = orientation ?? config.originalOrientationLock UINavigationController.attemptRotationToDeviceOrientation() } func notifyUserOfMediaCaptured(_ capturedMedia: MCameraMedia) { diff --git a/Sources/Public/Camera Settings/Public+CameraSettings+MCamera.swift b/Sources/Public/Camera Settings/Public+CameraSettings+MCamera.swift index 483823fb6..9578cb180 100644 --- a/Sources/Public/Camera Settings/Public+CameraSettings+MCamera.swift +++ b/Sources/Public/Camera Settings/Public+CameraSettings+MCamera.swift @@ -384,7 +384,13 @@ public extension MCamera { } ``` */ - func lockCameraInPortraitOrientation(_ appDelegate: MApplicationDelegate.Type) -> Self { config.appDelegate = appDelegate; manager.attributes.orientationLocked = true; return self } + func lockCameraInPortraitOrientation(_ appDelegate: MApplicationDelegate.Type) -> Self { + config.appDelegate = appDelegate + config.originalOrientationLock = appDelegate.orientationLock + manager.attributes.orientationLocked = true + + return self + } /** Starts the camera session.