Skip to content

Commit 9e11cec

Browse files
authored
Merge branch 'master' into feature/clean_code
2 parents 2ed0cc9 + dc965f8 commit 9e11cec

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

UserReport/UserReport/Models/Device.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ internal struct Device {
3939
/// Device screen width
4040
var screenWidth: Double
4141

42+
/// Device top inset width
43+
var topInset: CGFloat
44+
45+
/// Device top top Window
46+
var keyWindow: UIWindow?
47+
4248
// MARK: - Init
4349

4450
/**
@@ -56,6 +62,12 @@ internal struct Device {
5662
self.screenDpi = 0
5763
self.screenHeight = Double(UIScreen.main.bounds.size.height * UIScreen.main.scale)
5864
self.screenWidth = Double(UIScreen.main.bounds.size.width * UIScreen.main.scale)
65+
self.keyWindow = UIApplication.shared.windows.first { $0.isKeyWindow }
66+
if #available(iOS 11.0, *) {
67+
self.topInset = keyWindow?.safeAreaInsets.top ?? 0
68+
} else {
69+
self.topInset = 0
70+
}
5971
}
6072

6173
// MARK: - JSON

UserReport/UserReport/UI/SurveyViewController.swift

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,13 @@ internal class SurveyViewController: UIViewController, WKNavigationDelegate, WKS
5757
// Setup views
5858
self.setupWebView()
5959
self.setupCloseButton()
60-
self.changeFrame(rect: self.view.bounds)
6160

6261
// Add views and layout
6362
self.view.backgroundColor = UIColor.black.withAlphaComponent(0.6)
6463
self.view.addSubview(self.webView)
6564
self.view.addSubview(self.closeButton)
65+
66+
self.changeFrame(rect: self.view.bounds)
6667
}
6768

6869
// MARK: - Setup
@@ -86,7 +87,7 @@ internal class SurveyViewController: UIViewController, WKNavigationDelegate, WKS
8687

8788
/// Create and setup `closeButton`
8889
private func setupCloseButton() {
89-
self.closeButton = UIButton(frame: CGRect(x: 0, y: 0, width: 30, height: 30 ))
90+
self.closeButton = UIButton(frame: CGRect(x: 0, y: 0, width: 35, height: 35))
9091
self.closeButton.setTitle("X", for: .normal)
9192
self.closeButton.backgroundColor = UIColor.white
9293
self.closeButton.setTitleColor(UIColor.black, for: .normal)
@@ -102,15 +103,17 @@ internal class SurveyViewController: UIViewController, WKNavigationDelegate, WKS
102103
* - parameter rect: New rect for recalculation
103104
*/
104105
private func changeFrame(rect: CGRect) {
105-
switch self.displayMode {
106-
106+
107+
switch displayMode {
107108
case .alert:
108-
self.webView.frame = rect.insetBy(dx: 20, dy: 30).offsetBy(dx: 0, dy: 10)
109-
self.closeButton.center = CGPoint(x: self.webView.frame.maxX, y: self.webView.frame.minY)
109+
webView.frame = rect.insetBy(dx: 20, dy: 30).offsetBy(dx: 0, dy: 10)
110+
closeButton.center = CGPoint(x: webView.frame.maxX - 30,
111+
y: webView.frame.minY + 35)
110112

111113
case .fullscreen:
112-
self.webView.frame = rect
113-
self.closeButton.center = CGPoint(x: self.webView.frame.maxX - 30, y: self.webView.frame.minY + 40)
114+
webView.frame = rect
115+
closeButton.center = CGPoint(x: webView.frame.maxX - 30,
116+
y: webView.frame.minY + Device().topInset + 35)
114117

115118
default:
116119
break

0 commit comments

Comments
 (0)