Merge pull request #6799 from vector-im/doug/fix-swiftui-navigation-bars

Fix navigation bars inside of VectorHostingController.
This commit is contained in:
Doug
2022-10-04 17:15:42 +01:00
committed by GitHub
6 changed files with 14 additions and 9 deletions

View File

@@ -20,6 +20,7 @@
- App Layout: Unable to send message after filtering for room ([#6755](https://github.com/vector-im/element-ios/issues/6755))
- App Layout: Fix missing toolbar for users with no rooms. ([#6796](https://github.com/vector-im/element-ios/pull/6796))
- Fix code block background colour ([#6778](https://github.com/vector-im/element-ios/issues/6778))
- Fix navigation bars visibility on iOS 16. ([#6799](https://github.com/vector-im/element-ios/pull/6799))
🧱 Build

View File

@@ -73,14 +73,6 @@ class VectorHostingController: UIHostingController<AnyView> {
bottomSheetPreferences?.setup(viewController: self)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if isNavigationBarHidden {
self.navigationController?.isNavigationBarHidden = true
}
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
@@ -93,6 +85,14 @@ class VectorHostingController: UIHostingController<AnyView> {
}
}
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
if let navigationController = navigationController, navigationController.isNavigationBarHidden != isNavigationBarHidden {
navigationController.isNavigationBarHidden = isNavigationBarHidden
}
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()

View File

@@ -27,7 +27,7 @@ final class AnalyticsPromptCoordinator: Coordinator, Presentable {
// MARK: Private
private let parameters: AnalyticsPromptCoordinatorParameters
private let analyticsPromptHostingController: UIViewController
private let analyticsPromptHostingController: VectorHostingController
private var _analyticsPromptViewModel: Any?
fileprivate var analyticsPromptViewModel: AnalyticsPromptViewModel {
@@ -59,6 +59,7 @@ final class AnalyticsPromptCoordinator: Coordinator, Presentable {
let view = AnalyticsPrompt(viewModel: viewModel.context)
_analyticsPromptViewModel = viewModel
analyticsPromptHostingController = VectorHostingController(rootView: view)
analyticsPromptHostingController.isNavigationBarHidden = true
}
// MARK: - Public

View File

@@ -45,6 +45,7 @@ final class OnboardingCelebrationCoordinator: Coordinator, Presentable {
onboardingCelebrationViewModel = viewModel
onboardingCelebrationHostingController = VectorHostingController(rootView: view)
onboardingCelebrationHostingController.enableNavigationBarScrollEdgeAppearance = true
onboardingCelebrationHostingController.isNavigationBarHidden = true
}
// MARK: - Public

View File

@@ -58,6 +58,7 @@ final class OnboardingCongratulationsCoordinator: Coordinator, Presentable {
onboardingCongratulationsViewModel = viewModel
onboardingCongratulationsHostingController = VectorHostingController(rootView: view)
onboardingCongratulationsHostingController.statusBarStyle = .lightContent
onboardingCongratulationsHostingController.isNavigationBarHidden = true
}
// MARK: - Public

View File

@@ -46,6 +46,7 @@ final class OnboardingSplashScreenCoordinator: OnboardingSplashScreenCoordinator
onboardingSplashScreenViewModel = viewModel
onboardingSplashScreenHostingController = VectorHostingController(rootView: view)
onboardingSplashScreenHostingController.vc_removeBackTitle()
onboardingSplashScreenHostingController.isNavigationBarHidden = true
indicatorPresenter = UserIndicatorTypePresenter(presentingViewController: onboardingSplashScreenHostingController)
}