diff options
| author | Bug Magnet <marco.nikic@mullvad.net> | 2023-09-13 10:07:27 +0200 |
|---|---|---|
| committer | Bug Magnet <marco.nikic@mullvad.net> | 2023-09-13 10:07:27 +0200 |
| commit | c0ee7f5b8686a4ed67cec01b574a43c7e9ef0287 (patch) | |
| tree | 950573bcdd12d2e2e3c90a728e7bfad16ef11e3a | |
| parent | 92bd76e6d3487684730361a636131ae4a75e0fae (diff) | |
| parent | 3c29c357267e7d5a8b37d12654d738501cd1b055 (diff) | |
| download | mullvadvpn-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.swift | 118 |
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) { |
