Quellcode durchsuchen

#1125 improvement in splitViewController.displayModeButtonItem

marinofaggiana vor 5 Jahren
Ursprung
Commit
024bb20f1b
2 geänderte Dateien mit 16 neuen und 2 gelöschten Zeilen
  1. 4 2
      iOSClient/Main/CCDetail.m
  2. 12 0
      iOSClient/Main/NCMasterNavigationController.swift

+ 4 - 2
iOSClient/Main/CCDetail.m

@@ -163,8 +163,10 @@
     
     // Title
     self.navigationController.navigationBar.topItem.title = _metadataDetail.fileNameView;
-    self.navigationController.topViewController.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
-
+    if (!self.splitViewController.isCollapsed) {
+        self.navigationController.topViewController.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
+    }
+    
     // verifico se esiste l'icona e se la posso creare
     if ([[NSFileManager defaultManager] fileExistsAtPath:[CCUtility getDirectoryProviderStorageIconOcId:self.metadataDetail.ocId fileNameView:self.metadataDetail.fileNameView]] == NO) {
         [CCGraphics createNewImageFrom:self.metadataDetail.fileNameView ocId:self.metadataDetail.ocId extension:[self.metadataDetail.fileNameView pathExtension] filterGrayScale:NO typeFile:self.metadataDetail.typeFile writeImage:YES];

+ 12 - 0
iOSClient/Main/NCMasterNavigationController.swift

@@ -34,6 +34,18 @@ class NCMasterNavigationController: UINavigationController {
         NotificationCenter.default.addObserver(self, selector: #selector(self.changeTheming), name: NSNotification.Name(rawValue: "changeTheming"), object: nil)
         changeTheming()
     }
+    
+    override func viewWillLayoutSubviews() {
+        super.viewWillLayoutSubviews()
+        
+        if self.splitViewController?.isCollapsed == false {
+            if (self.splitViewController != nil) {
+                if let navigationController = self.splitViewController!.viewControllers[self.splitViewController!.viewControllers.count-1] as? UINavigationController {
+                    navigationController.topViewController!.navigationItem.leftBarButtonItem = self.splitViewController!.displayModeButtonItem
+                }
+            }
+        }
+    }
 
     @objc func changeTheming() {
         navigationBar.barTintColor = NCBrandColor.sharedInstance.brand