marinofaggiana 5 years ago
parent
commit
2b1a73ea25

+ 4 - 2
iOSClient/Main/Menu/NCDetailNavigationController+Menu.swift

@@ -239,9 +239,12 @@ extension NCDetailNavigationController {
     }
 
     @objc func toggleMoreMenu(viewController: UIViewController, metadata: tableMetadata) {
+        if appDelegate.activeDetail.backgroundView.subviews.first == nil && appDelegate.activeDetail.viewerImageViewController == nil {
+            return
+        }
         
         let mainMenuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateViewController(withIdentifier: "NCMainMenuTableViewController") as! NCMainMenuTableViewController
-            mainMenuViewController.actions = self.initMoreMenu(viewController: viewController, metadata: metadata)
+        mainMenuViewController.actions = self.initMoreMenu(viewController: viewController, metadata: metadata)
 
         let menuPanelController = NCMenuPanelController()
         menuPanelController.parentPresenter = viewController
@@ -250,7 +253,6 @@ extension NCDetailNavigationController {
         menuPanelController.track(scrollView: mainMenuViewController.tableView)
 
         viewController.present(menuPanelController, animated: true, completion: nil)
-
     }
 }
 

+ 16 - 14
iOSClient/Main/NCDetailViewController.swift

@@ -136,10 +136,6 @@ class NCDetailViewController: UIViewController {
     
     //MARK: - Utility
 
-    func subViewActive() -> UIView? {
-        return backgroundView.subviews.first
-    }
-    
     @objc func navigateControllerBarHidden(_ state: Bool) {
         
         if state  {
@@ -396,15 +392,8 @@ class NCDetailViewController: UIViewController {
                     navigationController.popToRootViewController(animated: true)
                 }
             } else {
-                if backgroundView != nil {
-                    for view in backgroundView.subviews {
-                        view.removeFromSuperview()
-                    }
-                }
-                viewerImageViewController?.willMove(toParent: nil)
-                viewerImageViewController?.view.removeFromSuperview()
-                viewerImageViewController?.removeFromParent()
                 
+                closeAllSubView()
                 self.navigationController?.navigationBar.topItem?.title = ""
             }
         }
@@ -416,6 +405,18 @@ class NCDetailViewController: UIViewController {
         backgroundView.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "logo"), multiplier: 2, color: NCBrandColor.sharedInstance.brand.withAlphaComponent(0.4))
     }
     
+    private func closeAllSubView() {
+        
+        if backgroundView != nil {
+            for view in backgroundView.subviews {
+                view.removeFromSuperview()
+            }
+        }
+        viewerImageViewController?.willMove(toParent: nil)
+        viewerImageViewController?.view.removeFromSuperview()
+        viewerImageViewController?.removeFromParent()
+    }
+    
     //MARK: - View File
     
     @objc func viewFile(metadata: tableMetadata, selector: String?) {
@@ -423,7 +424,8 @@ class NCDetailViewController: UIViewController {
         self.metadata = metadata
         self.selector = selector
         self.backgroundView.image = nil
-        for view in backgroundView.subviews { view.removeFromSuperview() }
+        
+        closeAllSubView()
 
         if FileManager().fileExists(atPath: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, fileNameView: metadata.fileNameView)) == false {
             CCGraphics.createNewImage(from: metadata.fileNameView, ocId: metadata.ocId, filterGrayScale: false, typeFile: metadata.typeFile, writeImage: true)
@@ -579,7 +581,7 @@ extension NCDetailViewController: NCViewerImageViewControllerDelegate, NCViewerI
     
     func viewImage() {
         
-        for view in backgroundView.subviews { view.removeFromSuperview() }
+        closeAllSubView()
         
         if let metadatas = NCViewerImageCommon.shared.getMetadatasDatasource(metadata: self.metadata, metadatas: self.metadatas, favoriteDatasorce: favoriteFilterImage, mediaDatasorce: mediaFilterImage, offLineDatasource: offlineFilterImage) {
                             

+ 3 - 5
iOSClient/Text/NCText.swift

@@ -110,11 +110,9 @@ class NCText: UIViewController, UITextViewDelegate {
     override func viewDidDisappear(_ animated: Bool) {
         super.viewDidDisappear(animated)
         
-        if appDelegate.activeDetail != nil {
-            if let view = appDelegate.activeDetail.subViewActive() {
-                if view is WKWebView {
-                    appDelegate.activeDetail.viewFile(metadata: metadata!, selector: nil)
-                }
+        if appDelegate.activeDetail != nil && appDelegate.activeDetail.backgroundView.subviews.first != nil {
+            if appDelegate.activeDetail.backgroundView.subviews.first is WKWebView {
+                appDelegate.activeDetail.viewFile(metadata: metadata!, selector: nil)
             }
         }
     }