Quellcode durchsuchen

Fix for rotation

Signed-off-by: Philippe Weidmann <philippe.weidmann@infomaniak.com>
Philippe Weidmann vor 5 Jahren
Ursprung
Commit
c806e1bb67

+ 1 - 1
iOSClient/Main/Menu/AppDelegate+Menu.swift

@@ -221,7 +221,7 @@ extension AppDelegate {
         mainMenuViewController.actions = self.initMenu()
 
         let menuPanelController = NCMenuPanelController()
-        menuPanelController.panelWidth = Int(viewController.view.frame.width)
+        menuPanelController.parentPresenter = viewController
         menuPanelController.delegate = mainMenuViewController
         menuPanelController.set(contentViewController: mainMenuViewController)
         menuPanelController.track(scrollView: mainMenuViewController.tableView)

+ 1 - 1
iOSClient/Main/Menu/CCFavorites+Menu.swift

@@ -97,7 +97,7 @@ extension CCFavorites {
         mainMenuViewController.actions = self.initMoreMenu(indexPath: indexPath, metadata: metadata)
 
         let menuPanelController = NCMenuPanelController()
-        menuPanelController.panelWidth = Int(viewController.view.frame.width)
+        menuPanelController.parentPresenter = viewController
         menuPanelController.delegate = mainMenuViewController
         menuPanelController.set(contentViewController: mainMenuViewController)
         menuPanelController.track(scrollView: mainMenuViewController.tableView)

+ 3 - 3
iOSClient/Main/Menu/CCMain+Menu.swift

@@ -114,7 +114,7 @@ extension CCMain {
         mainMenuViewController.actions = self.initSortMenu()
 
         let menuPanelController = NCMenuPanelController()
-        menuPanelController.panelWidth = Int(viewController.view.frame.width)
+        menuPanelController.parentPresenter = viewController
         menuPanelController.delegate = mainMenuViewController
         menuPanelController.set(contentViewController: mainMenuViewController)
         menuPanelController.track(scrollView: mainMenuViewController.tableView)
@@ -127,7 +127,7 @@ extension CCMain {
         mainMenuViewController.actions = self.initSelectMenu()
 
         let menuPanelController = NCMenuPanelController()
-        menuPanelController.panelWidth = Int(viewController.view.frame.width)
+        menuPanelController.parentPresenter = viewController
         menuPanelController.delegate = mainMenuViewController
         menuPanelController.set(contentViewController: mainMenuViewController)
         menuPanelController.track(scrollView: mainMenuViewController.tableView)
@@ -527,7 +527,7 @@ extension CCMain {
         mainMenuViewController.actions = self.initMoreMenu(indexPath: indexPath, metadata: metadata, metadataFolder: metadataFolder)
 
         let menuPanelController = NCMenuPanelController()
-        menuPanelController.panelWidth = Int(viewController.view.frame.width)
+        menuPanelController.parentPresenter = viewController
         menuPanelController.delegate = mainMenuViewController
         menuPanelController.set(contentViewController: mainMenuViewController)
         menuPanelController.track(scrollView: mainMenuViewController.tableView)

+ 7 - 4
iOSClient/Main/Menu/NCMenuPanelController.swift

@@ -27,11 +27,11 @@ import FloatingPanel
 
 class NCMenuPanelController: FloatingPanelController {
 
-    var panelWidth: Int? = 0
+    var parentPresenter: UIViewController?
     
     override func viewDidLoad() {
         super.viewDidLoad()
-                
+        
         self.surfaceView.grabberHandle.isHidden = true
         self.isRemovalInteractionEnabled = true
         if #available(iOS 11, *) {
@@ -44,9 +44,12 @@ class NCMenuPanelController: FloatingPanelController {
     override func viewWillLayoutSubviews() {
         super.viewWillLayoutSubviews()
         
-        if let width = panelWidth {
-            self.view.frame = CGRect(x: 0, y: 0, width: width, height: Int(self.view.frame.height))
+        if let presenter = parentPresenter {
+            self.view.frame = CGRect(x: 0, y: 0, width: Int(presenter.view.frame.size.width), height: Int(presenter.view.frame.height))
         }
     }
     
+    override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
+        self.dismiss(animated: true, completion: nil)
+    }
 }