diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index e815d9170..2953669ac 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -859,9 +859,9 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, UnreadCountProvider { // settingsViewController.presentingParentController = rootSplitViewController // rootSplitViewController.present(settingsNavViewController, animated: true) - let settings = UIHostingController(rootView: SettingsView(viewModel: SettingsView.ViewModel())) - settings.modalPresentationStyle = .formSheet - rootSplitViewController.present(settings, animated: true) + rootSplitViewController.present(style: .formSheet) { + SettingsView(viewModel: SettingsView.ViewModel()) + } } func showAdd(_ type: AddControllerType) { diff --git a/iOS/Settings/SettingsView.swift b/iOS/Settings/SettingsView.swift index 8ddb5dfdd..a80462769 100644 --- a/iOS/Settings/SettingsView.swift +++ b/iOS/Settings/SettingsView.swift @@ -10,18 +10,21 @@ import SwiftUI import Combine import Account + struct SettingsView : View { @ObservedObject var viewModel: ViewModel + + @Environment(\.viewController) private var viewController: UIViewController? - @State var isWebsitePresented: Bool = false - @State var website: String? = nil + @State private var isWebsitePresented: Bool = false + @State private var website: String? = nil - @State var isOPMLImportPresented: Bool = false - @State var isOPMLImportDocPickerPresented: Bool = false - @State var isOPMLExportPresented: Bool = false - @State var isOPMLExportDocPickerPresented: Bool = false - @State var opmlAccount: Account? = nil + @State private var isOPMLImportPresented: Bool = false + @State private var isOPMLImportDocPickerPresented: Bool = false + @State private var isOPMLExportPresented: Bool = false + @State private var isOPMLExportDocPickerPresented: Bool = false + @State private var opmlAccount: Account? = nil var body: some View { NavigationView { @@ -123,6 +126,7 @@ struct SettingsView : View { } .navigationBarTitle(Text("Settings"), displayMode: .inline) + .navigationBarItems(leading: Button(action: { self.viewController?.dismiss(animated: true) }) { Text("Done") } ) } } diff --git a/submodules/RSCore b/submodules/RSCore index 7a4895657..3e0dbb1c0 160000 --- a/submodules/RSCore +++ b/submodules/RSCore @@ -1 +1 @@ -Subproject commit 7a48956576a242c631d634520748de326d893f9b +Subproject commit 3e0dbb1c0a88697e7be510da0226fe1e3e7ef195