From 17e38a5c3b43d360bea599431aadf9b07e116dc6 Mon Sep 17 00:00:00 2001 From: Fabio Date: Wed, 12 Jun 2024 13:57:35 +0100 Subject: [PATCH 1/4] Fix issue capture and select buttons disappearing on load --- .../CodeScanner/ScannerViewController.swift | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Sources/CodeScanner/ScannerViewController.swift b/Sources/CodeScanner/ScannerViewController.swift index 87930cb..09d4530 100644 --- a/Sources/CodeScanner/ScannerViewController.swift +++ b/Sources/CodeScanner/ScannerViewController.swift @@ -138,6 +138,7 @@ extension CodeScannerView { override public func viewDidLoad() { super.viewDidLoad() self.addOrientationDidChangeObserver() + self.addSessionDidChangeObserver() self.setBackgroundColor() self.handleCameraPermission() } @@ -162,6 +163,13 @@ extension CodeScannerView { connection.videoOrientation = .portrait } } + + @objc private func onCaptureSessionStarted() { + DispatchQueue.main.async { + self.view.bringSubviewToFront(self.manualCaptureButton) + self.view.bringSubviewToFront(self.manualSelectButton) + } + } override public func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) @@ -237,6 +245,15 @@ extension CodeScannerView { object: nil ) } + + private func addSessionDidChangeObserver() { + NotificationCenter.default.addObserver( + self, + selector: #selector(onCaptureSessionStarted), + name: NSNotification.Name.AVCaptureSessionDidStartRunning, + object: nil + ) + } private func setBackgroundColor(_ color: UIColor = .black) { view.backgroundColor = color @@ -353,7 +370,6 @@ extension CodeScannerView { ]) } - view.bringSubviewToFront(manualCaptureButton) manualCaptureButton.isHidden = !isManualCapture } @@ -368,7 +384,6 @@ extension CodeScannerView { ]) } - view.bringSubviewToFront(manualSelectButton) manualSelectButton.isHidden = !isManualSelect } #endif From 5944fbc1614f065a8d7e7952d716469a49c50959 Mon Sep 17 00:00:00 2001 From: Fabio Date: Wed, 12 Jun 2024 14:14:37 +0100 Subject: [PATCH 2/4] Revert "Fix issue capture and select buttons disappearing on load" This reverts commit 17e38a5c3b43d360bea599431aadf9b07e116dc6. --- .../CodeScanner/ScannerViewController.swift | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/Sources/CodeScanner/ScannerViewController.swift b/Sources/CodeScanner/ScannerViewController.swift index 09d4530..87930cb 100644 --- a/Sources/CodeScanner/ScannerViewController.swift +++ b/Sources/CodeScanner/ScannerViewController.swift @@ -138,7 +138,6 @@ extension CodeScannerView { override public func viewDidLoad() { super.viewDidLoad() self.addOrientationDidChangeObserver() - self.addSessionDidChangeObserver() self.setBackgroundColor() self.handleCameraPermission() } @@ -163,13 +162,6 @@ extension CodeScannerView { connection.videoOrientation = .portrait } } - - @objc private func onCaptureSessionStarted() { - DispatchQueue.main.async { - self.view.bringSubviewToFront(self.manualCaptureButton) - self.view.bringSubviewToFront(self.manualSelectButton) - } - } override public func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) @@ -245,15 +237,6 @@ extension CodeScannerView { object: nil ) } - - private func addSessionDidChangeObserver() { - NotificationCenter.default.addObserver( - self, - selector: #selector(onCaptureSessionStarted), - name: NSNotification.Name.AVCaptureSessionDidStartRunning, - object: nil - ) - } private func setBackgroundColor(_ color: UIColor = .black) { view.backgroundColor = color @@ -370,6 +353,7 @@ extension CodeScannerView { ]) } + view.bringSubviewToFront(manualCaptureButton) manualCaptureButton.isHidden = !isManualCapture } @@ -384,6 +368,7 @@ extension CodeScannerView { ]) } + view.bringSubviewToFront(manualSelectButton) manualSelectButton.isHidden = !isManualSelect } #endif From cc52f28f934cd771de123783715ca3c72412666e Mon Sep 17 00:00:00 2001 From: Fabio Date: Wed, 12 Jun 2024 14:24:07 +0100 Subject: [PATCH 3/4] Fix issue capture and select buttons disappearing on load --- Sources/CodeScanner/ScannerViewController.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Sources/CodeScanner/ScannerViewController.swift b/Sources/CodeScanner/ScannerViewController.swift index 87930cb..75acb8f 100644 --- a/Sources/CodeScanner/ScannerViewController.swift +++ b/Sources/CodeScanner/ScannerViewController.swift @@ -187,7 +187,8 @@ extension CodeScannerView { previewLayer.videoGravity = .resizeAspectFill view.layer.addSublayer(previewLayer) addViewFinder() - + addManualButtons() + reset() if !captureSession.isRunning { @@ -289,6 +290,11 @@ extension CodeScannerView { imageView.heightAnchor.constraint(equalToConstant: 200), ]) } + + private func addManualButtons() { + self.view.bringSubviewToFront(self.manualCaptureButton) + self.view.bringSubviewToFront(self.manualSelectButton) + } override public func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) @@ -353,7 +359,6 @@ extension CodeScannerView { ]) } - view.bringSubviewToFront(manualCaptureButton) manualCaptureButton.isHidden = !isManualCapture } @@ -368,7 +373,6 @@ extension CodeScannerView { ]) } - view.bringSubviewToFront(manualSelectButton) manualSelectButton.isHidden = !isManualSelect } #endif From 2725e48245d9cd3088d77435ba3e4e9be1c3a2f6 Mon Sep 17 00:00:00 2001 From: Fabio Date: Wed, 12 Jun 2024 14:48:44 +0100 Subject: [PATCH 4/4] Remove unecessary self --- Sources/CodeScanner/ScannerViewController.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/CodeScanner/ScannerViewController.swift b/Sources/CodeScanner/ScannerViewController.swift index 75acb8f..1741ba6 100644 --- a/Sources/CodeScanner/ScannerViewController.swift +++ b/Sources/CodeScanner/ScannerViewController.swift @@ -292,8 +292,8 @@ extension CodeScannerView { } private func addManualButtons() { - self.view.bringSubviewToFront(self.manualCaptureButton) - self.view.bringSubviewToFront(self.manualSelectButton) + self.view.bringSubviewToFront(manualCaptureButton) + self.view.bringSubviewToFront(manualSelectButton) } override public func viewDidDisappear(_ animated: Bool) {