summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift8
-rw-r--r--ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift17
2 files changed, 22 insertions, 3 deletions
diff --git a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift
index 625ea19ec3..b7da14dc1d 100644
--- a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift
+++ b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSCoordinator.swift
@@ -29,6 +29,14 @@ class CustomDNSCoordinator: Coordinator, Presentable, Presenting {
if route == .dnsSettings {
navigationController.navigationItem.largeTitleDisplayMode = .always
navigationController.navigationBar.prefersLargeTitles = true
+ let doneButton = UIBarButtonItem(
+ systemItem: .done,
+ primaryAction: UIAction(handler: { [weak self] _ in
+ guard let self else { return }
+ didFinish?(self)
+ })
+ )
+ viewController.navigationItem.rightBarButtonItem = doneButton
}
}
}
diff --git a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift
index 60ab057b82..7b1227cfe0 100644
--- a/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift
+++ b/ios/MullvadVPN/View controllers/VPNSettings/CustomDNSViewController.swift
@@ -48,9 +48,13 @@ class CustomDNSViewController: UITableViewController {
value: "DNS settings",
comment: ""
)
-
- navigationItem.rightBarButtonItem = editButtonItem
- navigationItem.rightBarButtonItem?.setAccessibilityIdentifier(.dnsSettingsEditButton)
+ if navigationItem.rightBarButtonItem != nil {
+ navigationItem.leftBarButtonItem = editButtonItem
+ navigationItem.leftBarButtonItem?.setAccessibilityIdentifier(.dnsSettingsEditButton)
+ } else {
+ navigationItem.rightBarButtonItem = editButtonItem
+ navigationItem.rightBarButtonItem?.setAccessibilityIdentifier(.dnsSettingsEditButton)
+ }
interactor.tunnelSettingsDidChange = { [weak self] newSettings in
self?.dataSource?.update(from: newSettings)
@@ -69,6 +73,13 @@ class CustomDNSViewController: UITableViewController {
dataSource?.setEditing(editing, animated: animated)
navigationItem.setHidesBackButton(editing, animated: animated)
+ if navigationItem.rightBarButtonItem != editButtonItem {
+ if #available(iOS 16.0, *) {
+ navigationItem.rightBarButtonItem?.isHidden = editing
+ } else {
+ navigationItem.rightBarButtonItem?.isEnabled = !editing
+ }
+ }
// Disable swipe to dismiss when editing
isModalInPresentation = editing