summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2023-09-13 10:07:27 +0200
committerBug Magnet <marco.nikic@mullvad.net>2023-09-13 10:07:27 +0200
commitc0ee7f5b8686a4ed67cec01b574a43c7e9ef0287 (patch)
tree950573bcdd12d2e2e3c90a728e7bfad16ef11e3a
parent92bd76e6d3487684730361a636131ae4a75e0fae (diff)
parent3c29c357267e7d5a8b37d12654d738501cd1b055 (diff)
downloadmullvadvpn-c0ee7f5b8686a4ed67cec01b574a43c7e9ef0287.tar.xz
mullvadvpn-c0ee7f5b8686a4ed67cec01b574a43c7e9ef0287.zip
Merge branch 'fix-swiftlint-warnings-in-xcode-ios-ProblemReportViewController-296'
-rw-r--r--ios/MullvadVPN/View controllers/ProblemReport/ProblemReportViewController.swift118
1 files changed, 37 insertions, 81 deletions
diff --git a/ios/MullvadVPN/View controllers/ProblemReport/ProblemReportViewController.swift b/ios/MullvadVPN/View controllers/ProblemReport/ProblemReportViewController.swift
index 20b29e3364..19751e8ed7 100644
--- a/ios/MullvadVPN/View controllers/ProblemReport/ProblemReportViewController.swift
+++ b/ios/MullvadVPN/View controllers/ProblemReport/ProblemReportViewController.swift
@@ -227,19 +227,8 @@ final class ProblemReportViewController: UIViewController, UITextFieldDelegate {
messageTextView.setContentHuggingPriority(.defaultLow, for: .vertical)
messageTextView.setContentCompressionResistancePriority(.defaultLow, for: .vertical)
- textFieldsHolder.addSubview(emailTextField)
- textFieldsHolder.addSubview(messagePlaceholder)
- textFieldsHolder.addSubview(messageTextView)
-
- view.addSubview(scrollView)
- scrollView.addSubview(containerView)
- containerView.addSubview(subheaderLabel)
- containerView.addSubview(textFieldsHolder)
- containerView.addSubview(buttonsStackView)
-
addConstraints()
registerForNotifications()
-
loadPersistentViewModel()
}
@@ -345,88 +334,55 @@ final class ProblemReportViewController: UIViewController, UITextFieldDelegate {
}
private func addConstraints() {
- activeMessageTextViewConstraints = [
- messageTextView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
- messageTextView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
- messageTextView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
- messageTextView.bottomAnchor.constraint(equalTo: view.bottomAnchor),
- ]
+ activeMessageTextViewConstraints =
+ messageTextView.pinEdges(.all().excluding(.top), to: view) +
+ messageTextView.pinEdges(PinnableEdges([.top(0)]), to: view.safeAreaLayoutGuide)
- inactiveMessageTextViewConstraints = [
- messageTextView.topAnchor.constraint(
- equalTo: emailTextField.bottomAnchor,
- constant: 12
- ),
- messageTextView.leadingAnchor.constraint(equalTo: textFieldsHolder.leadingAnchor),
- messageTextView.trailingAnchor.constraint(equalTo: textFieldsHolder.trailingAnchor),
- messageTextView.bottomAnchor.constraint(equalTo: textFieldsHolder.bottomAnchor),
- ]
+ inactiveMessageTextViewConstraints =
+ messageTextView.pinEdges(.all().excluding(.top), to: textFieldsHolder) +
+ [messageTextView.topAnchor.constraint(equalTo: emailTextField.bottomAnchor, constant: 12)]
- var constraints = [
- subheaderLabel.topAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.topAnchor),
- subheaderLabel.leadingAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.leadingAnchor),
- subheaderLabel.trailingAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.trailingAnchor),
+ textFieldsHolder.addSubview(emailTextField)
+ textFieldsHolder.addSubview(messagePlaceholder)
+ textFieldsHolder.addSubview(messageTextView)
- textFieldsHolder.topAnchor.constraint(
- equalTo: subheaderLabel.bottomAnchor,
- constant: 24
- ),
- textFieldsHolder.leadingAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.leadingAnchor),
- textFieldsHolder.trailingAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.trailingAnchor),
+ scrollView.addSubview(containerView)
+ containerView.addSubview(subheaderLabel)
+ containerView.addSubview(textFieldsHolder)
+ containerView.addSubview(buttonsStackView)
- buttonsStackView.topAnchor.constraint(
- equalTo: textFieldsHolder.bottomAnchor,
- constant: 18
- ),
- buttonsStackView.leadingAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.leadingAnchor),
- buttonsStackView.trailingAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.trailingAnchor),
- buttonsStackView.bottomAnchor
- .constraint(equalTo: containerView.layoutMarginsGuide.bottomAnchor),
+ view.addConstrainedSubviews([scrollView]) {
+ inactiveMessageTextViewConstraints
- emailTextField.topAnchor.constraint(equalTo: textFieldsHolder.topAnchor),
- emailTextField.leadingAnchor.constraint(equalTo: textFieldsHolder.leadingAnchor),
- emailTextField.trailingAnchor.constraint(equalTo: textFieldsHolder.trailingAnchor),
+ subheaderLabel.pinEdges(.all().excluding(.bottom), to: containerView.layoutMarginsGuide)
- messagePlaceholder.topAnchor.constraint(
- equalTo: emailTextField.bottomAnchor,
- constant: 12
- ),
- messagePlaceholder.leadingAnchor.constraint(equalTo: textFieldsHolder.leadingAnchor),
- messagePlaceholder.trailingAnchor.constraint(equalTo: textFieldsHolder.trailingAnchor),
- messagePlaceholder.bottomAnchor.constraint(equalTo: textFieldsHolder.bottomAnchor),
- messagePlaceholder.heightAnchor.constraint(equalTo: messageTextView.heightAnchor),
+ textFieldsHolder.pinEdges(PinnableEdges([.leading(0), .trailing(0)]), to: containerView.layoutMarginsGuide)
+ textFieldsHolder.topAnchor.constraint(equalTo: subheaderLabel.bottomAnchor, constant: 24)
- scrollView.frameLayoutGuide.topAnchor.constraint(equalTo: view.topAnchor),
- scrollView.frameLayoutGuide.bottomAnchor.constraint(equalTo: view.bottomAnchor),
- scrollView.frameLayoutGuide.leadingAnchor.constraint(equalTo: view.leadingAnchor),
- scrollView.frameLayoutGuide.trailingAnchor.constraint(equalTo: view.trailingAnchor),
+ buttonsStackView.pinEdges(.all().excluding(.top), to: containerView.layoutMarginsGuide)
+ buttonsStackView.topAnchor.constraint(equalTo: textFieldsHolder.bottomAnchor, constant: 18)
- scrollView.contentLayoutGuide.topAnchor.constraint(equalTo: containerView.topAnchor),
- scrollView.contentLayoutGuide.bottomAnchor
- .constraint(equalTo: containerView.bottomAnchor),
- scrollView.contentLayoutGuide.leadingAnchor
- .constraint(equalTo: containerView.leadingAnchor),
- scrollView.contentLayoutGuide.trailingAnchor
- .constraint(equalTo: containerView.trailingAnchor),
+ emailTextField.pinEdges(.all().excluding(.bottom), to: textFieldsHolder)
- scrollView.contentLayoutGuide.widthAnchor
- .constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor),
- scrollView.contentLayoutGuide.heightAnchor
- .constraint(greaterThanOrEqualTo: scrollView.safeAreaLayoutGuide.heightAnchor),
+ messagePlaceholder.pinEdges(.all().excluding(.top), to: textFieldsHolder)
+ messagePlaceholder.topAnchor.constraint(equalTo: emailTextField.bottomAnchor, constant: 12)
+ messagePlaceholder.heightAnchor.constraint(equalTo: messageTextView.heightAnchor)
- messageTextView.heightAnchor.constraint(greaterThanOrEqualToConstant: 150),
- ]
+ scrollView.frameLayoutGuide.topAnchor.constraint(equalTo: view.topAnchor)
+ scrollView.frameLayoutGuide.bottomAnchor.constraint(equalTo: view.bottomAnchor)
+ scrollView.frameLayoutGuide.leadingAnchor.constraint(equalTo: view.leadingAnchor)
+ scrollView.frameLayoutGuide.trailingAnchor.constraint(equalTo: view.trailingAnchor)
- constraints.append(contentsOf: inactiveMessageTextViewConstraints)
+ scrollView.contentLayoutGuide.topAnchor.constraint(equalTo: containerView.topAnchor)
+ scrollView.contentLayoutGuide.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
+ scrollView.contentLayoutGuide.leadingAnchor.constraint(equalTo: containerView.leadingAnchor)
+ scrollView.contentLayoutGuide.trailingAnchor.constraint(equalTo: containerView.trailingAnchor)
+ scrollView.contentLayoutGuide.widthAnchor.constraint(equalTo: scrollView.frameLayoutGuide.widthAnchor)
+ scrollView.contentLayoutGuide.heightAnchor
+ .constraint(greaterThanOrEqualTo: scrollView.safeAreaLayoutGuide.heightAnchor)
- NSLayoutConstraint.activate(constraints)
+ messageTextView.heightAnchor.constraint(greaterThanOrEqualToConstant: 150)
+ }
}
private func setDescriptionFieldExpanded(_ isExpanded: Bool) {