Browse Source

菜单栏-视图-旋转,全部页面向左/右旋转,描述和实际效果相反了(已修复)

tangchao 1 year ago
parent
commit
0a51e2ef6a

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


+ 7 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFPageExtensions/CPDFPage+PDFListView.h

@@ -17,3 +17,10 @@
 - (NSData *)PDFListViewTIFFDataForRect:(NSRect)rect;
 
 @end
+
+@interface CPDFPage (KMExtension)
+
+- (void)leftRotate;
+- (void)rightRotate;
+
+@end

+ 32 - 0
PDF Office/PDF Office/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFPageExtensions/CPDFPage+PDFListView.m

@@ -117,3 +117,35 @@
 }
 
 @end
+
+@implementation CPDFPage (KMExtension)
+
+- (void)leftRotate {
+    NSInteger rotation = self.rotation % 360;
+    
+    if (rotation == 0) {
+        self.rotation = 270;
+    } else if (rotation == 90) {
+        self.rotation = 0;
+    } else if (rotation == 180) {
+        self.rotation = 90;
+    } else if (rotation == 270) {
+        self.rotation = 180;
+    }
+}
+
+- (void)rightRotate {
+    NSInteger rotation = self.rotation % 360;
+    
+    if (rotation == 0) {
+        self.rotation = 90;
+    } else if (rotation == 90) {
+        self.rotation = 180;
+    } else if (rotation == 180) {
+        self.rotation = 270;
+    } else if (rotation == 270) {
+        self.rotation = 0;
+    }
+}
+
+@end

+ 4 - 40
PDF Office/PDF Office/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift

@@ -198,17 +198,8 @@ extension KMMainViewController {
             }
             
             let page : CPDFPage = self.listView?.currentPage() ?? CPDFPage()
-
             let rotation = page.rotation
-            if page.rotation == 0 {
-                page.rotation = 270
-            } else if page.rotation == 90 {
-                page.rotation = 0
-            } else if page.rotation == 180 {
-                page.rotation = 90
-            } else if page.rotation == 270 {
-                page.rotation = 180
-            }
+            page.leftRotate()
             
             self.rotatePageItems(pageItems: [KMThumbnailPageItem(page: page, rotate: page.rotation, oldRotate: rotation)])
         }
@@ -242,16 +233,7 @@ extension KMMainViewController {
             
             let page : CPDFPage = self.listView?.currentPage() ?? CPDFPage()
             let rotation = page.rotation
-            
-            if page.rotation == 0 {
-                page.rotation = 90
-            } else if page.rotation == 90 {
-                page.rotation = 180
-            } else if page.rotation == 180 {
-                page.rotation = 270
-            } else if page.rotation == 270 {
-                page.rotation = 0
-            }
+            page.rightRotate()
             
             self.rotatePageItems(pageItems: [KMThumbnailPageItem(page: page, rotate: page.rotation, oldRotate: rotation)])
         }
@@ -268,16 +250,7 @@ extension KMMainViewController {
             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 = 90
-                } else if page.rotation == 90 {
-                    page.rotation = 180
-                } else if page.rotation == 180 {
-                    page.rotation = 270
-                } else if page.rotation == 270 {
-                    page.rotation = 0
-                }
+                page.leftRotate()
                 pageItems.append(KMThumbnailPageItem(page: page, rotate: page.rotation, oldRotate: rotation))
             }
 
@@ -296,16 +269,7 @@ extension KMMainViewController {
             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 {
-                    page.rotation = 0
-                } else if page.rotation == 180 {
-                    page.rotation = 90
-                } else if page.rotation == 270 {
-                    page.rotation = 180
-                }
+                page.rightRotate()
                 pageItems.append(KMThumbnailPageItem(page: page, rotate: page.rotation, oldRotate: rotation))
             }
             self.rotatePageItems(pageItems: pageItems)