瀏覽代碼

【2025】【PDFView】右键菜单弹出时PDFViewPop框影藏问题

dinglingui 2 月之前
父節點
當前提交
2283f3d7d7

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFListViewExtension/CPDFListView+Event.m

@@ -711,7 +711,7 @@ static inline CPDFAreaOfInterest CAreaOfInterestForResizeHandle(CRectEdges mask,
         [self.pdfListViewDelegate PDFListViewMenuForEvent:self forEvent:event clickMenu:&menu isMoveSelectAnno:annotationSel!=nil];
     }
     
-    return menu;
+    return nil;
 }
 
 - (void)rotateLeftStampAnnotation:(id)sender {

+ 27 - 13
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -1796,20 +1796,26 @@ struct KMNMWCFlags {
             }
             toggleClosePopUIWindow()
         } else if(listView.isEditing() == false) {
-            if(listView.popOver == nil || listView.popOver?.isShown == false) {
-                let activeAnnotations:[CPDFAnnotation] = listView.activeAnnotations as! [CPDFAnnotation]
-                if(activeAnnotations.count > 0) {
-                    if let page = activeAnnotations.first?.page {
-                        let pageRect = listView.selectionMultipleBounds(with: activeAnnotations)
-                        let positioningRect = listView.convert(pageRect, from: page)
-                        if (CGRectIntersectsRect(positioningRect, listView.frame)) {
-                            reloadPopUIActiveAnnotations(activeAnnotations: activeAnnotations)
-                            return
-                        }
+            let activeAnnotations:[CPDFAnnotation] = listView.activeAnnotations as! [CPDFAnnotation]
+            if(activeAnnotations.count > 0) {
+                if let page = activeAnnotations.first?.page {
+                    let pageRect = listView.selectionMultipleBounds(with: activeAnnotations)
+                    let positioningRect = listView.convert(pageRect, from: page)
+                    if (CGRectIntersectsRect(positioningRect, listView.frame)) {
+                        reloadPopUIActiveAnnotations(activeAnnotations: activeAnnotations)
+                    } else {
+                        toggleClosePopUIWindow()
                     }
+                } else {
+                    toggleClosePopUIWindow()
                 }
+            } else {
+                toggleClosePopUIWindow()
+            }
+            
+            if(listView.popOver?.isShown == true || (groupListMenuGroup?.superview) != nil) { //右键菜单弹出时,或者Pop编辑框弹出时不显示Pop
+                toggleClosePopUIWindow()
             }
-            toggleClosePopUIWindow()
         } else {
             let editAreas:[CPDFEditArea] = listView.km_EditingAreas()
             if(editAreas.count > 0) {
@@ -1818,12 +1824,19 @@ struct KMNMWCFlags {
                     let positioningRect = listView.convert(pageRect, from: page)
                     if (CGRectIntersectsRect(positioningRect, listView.frame)) {
                         reloadPopUIContentEdits(editAreas: editAreas)
-                        return
+                    } else {
+                        toggleClosePopUIWindow()
                     }
+                } else {
+                    toggleClosePopUIWindow()
                 }
+            } else {
+                toggleClosePopUIWindow()
             }
             
-            toggleClosePopUIWindow()
+            if(listView.popOver?.isShown == true || (groupListMenuGroup?.superview) != nil) { //右键菜单弹出时,或者Pop编辑框弹出时不显示Pop
+                toggleClosePopUIWindow()
+            }
         }
     }
     
@@ -5446,6 +5459,7 @@ extension KMMainViewController: CPDFViewDelegate,CPDFListViewDelegate {
             
             groupListMenuGroup?.showWithPoint(CGPoint(x: point.x, y: point.y - menuStruct.viewHeight), relativeTo: pdfListView)
         }
+        reloadPopUIWindow()
     }
     
     func pdfListViewMenuItemsEditing(at point: CGPoint, for page: CPDFPage!, menuItems: [NSMenuItem]!) -> [NSMenuItem]! {