Browse Source

菜单栏-视图,旋转页面后,关闭文档未走保存逻辑(已修复)

tangchao 1 year ago
parent
commit
e753113b79

BIN
PDF Office/PDF Office.xcodeproj/project.xcworkspace/xcuserdata/kdanmobile.xcuserdatad/UserInterfaceState.xcuserstate


+ 12 - 5
PDF Office/PDF Office/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift

@@ -264,8 +264,11 @@ extension KMMainViewController {
                 return
             }
             
+            var pageItems: [KMThumbnailPageItem] = []
             for index in 0 ... self.listView.document.pageCount - 1 {
-                let page : CPDFPage = self.listView.document.page(at: index)
+                let page: CPDFPage = self.listView.document.page(at: index)
+                let rotation = page.rotation
+                
                 if page.rotation == 0 {
                     page.rotation = 90
                 } else if page.rotation == 90 {
@@ -275,9 +278,10 @@ extension KMMainViewController {
                 } else if page.rotation == 270 {
                     page.rotation = 0
                 }
+                pageItems.append(KMThumbnailPageItem(page: page, rotate: page.rotation, oldRotate: rotation))
             }
-            self.listView?.layoutDocumentView()
-            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "KMPDFViewRotatePage"), object: self.listView.document)
+
+            self.rotatePageItems(pageItems: pageItems)
         }
     }
 
@@ -288,8 +292,11 @@ extension KMMainViewController {
                 return
             }
             
+            var pageItems: [KMThumbnailPageItem] = []
             for index in 0 ... self.listView.document.pageCount - 1 {
                 let page : CPDFPage = self.listView.document.page(at: index)
+                let rotation = page.rotation
+                
                 if page.rotation == 0 {
                     page.rotation = 270
                 } else if page.rotation == 90 {
@@ -299,9 +306,9 @@ extension KMMainViewController {
                 } else if page.rotation == 270 {
                     page.rotation = 180
                 }
+                pageItems.append(KMThumbnailPageItem(page: page, rotate: page.rotation, oldRotate: rotation))
             }
-            self.listView?.layoutDocumentView()
-            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "KMPDFViewRotatePage"), object: self.listView.document)
+            self.rotatePageItems(pageItems: pageItems)
         }
     }