Ver código fonte

【2025】【组件库】组件库刷新优化,二级工具栏点击优化

niehaoyu 3 meses atrás
pai
commit
bbe7670bf7

+ 12 - 0
PDF Office/KMComponentLibrary/KMComponentLibrary/View/GroupItem/ComponentGroup.swift

@@ -36,6 +36,8 @@ public class ComponentGroup: NSView, NibLoadable {
     
     var subGroupView: ComponentGroup!
     
+    var choosedIndex: Int = -1
+    
     weak open var groupDelegate: ComponentGroupDelegate?
     
     deinit {
@@ -131,6 +133,16 @@ public class ComponentGroup: NSView, NibLoadable {
     
     public func reloadData() {
         collectionView.reloadData()
+        
+        if choosedIndex > 0 {
+            DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.15) {
+                let indexpath = IndexPath(item: self.choosedIndex, section: 0)
+                var set = Set<IndexPath>()
+                set.insert(indexpath)
+                
+                self.collectionView.scrollToItems(at: set, scrollPosition: .centeredVertically)
+            }
+        }
     }
     
     //MARK: - SubGroupView

+ 12 - 2
PDF Office/KMComponentLibrary/KMComponentLibrary/View/Select/ComponentSelect.swift

@@ -256,14 +256,24 @@ public class ComponentSelect: ComponentBaseXibView {
         
         var viewHeight: CGFloat = 8.0
         var viewWidth: CGFloat = CGRectGetWidth(self.frame)
+        var selectIndex: Int = -1
         
         for item in menuitemPropertys {
             item.state = .normal
             if item == selItemProperty && selItemProperty?.text == properties.text {
                 item.itemSelected = true
-            } else if item.text == properties.text {
+                selectIndex = menuitemPropertys.firstIndex(of: item) ?? -1
+                
+            } else if item.text == properties.text{
                 item.itemSelected = true
                 selItemProperty = item
+                
+                selectIndex = menuitemPropertys.firstIndex(of: item) ?? -1
+            } else if let text = properties.text, let unitText = properties.textUnit, item.text == text + unitText {
+                item.itemSelected = true
+                selItemProperty = item
+                
+                selectIndex = menuitemPropertys.firstIndex(of: item) ?? -1
             } else {
                 item.itemSelected = false
             }
@@ -288,9 +298,9 @@ public class ComponentSelect: ComponentBaseXibView {
             groupView = ComponentGroup.createFromNib(in: ComponentLibrary.shared.componentBundle())
         }
         groupView?.frame = CGRectMake(310, 0, viewWidth, viewHeight)
-        groupView?.reloadData()
         groupView.groupDelegate = self
         groupView.showWithPoint(point, relativeTo: contendBox)
+        groupView.choosedIndex = selectIndex
         groupView?.updateGroupInfo(menuitemPropertys)
         isGroupViewShow = true
     }

+ 2 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift

@@ -1040,12 +1040,13 @@ extension KMPDFToolbarController: KMPDFSecToolbarControllerDelegate {
     func kmPDFSecToolbarControllerDidItemClicked(_ controller: KMPDFSecToolbarController, _ property: Any) {
         if let value = property as? ComponentButtonProperty {
             delegate?.kmPDFToolbarControllerDidToolbarItemClicked?(self, value.identifier)
+            reloadData()
         } else if let value = property as? ComponentMenuitemProperty {
             delegate?.kmPDFToolbarControllerDidToolbarItemClicked?(self, value.identifier)
+            reloadData()
         } else if let value = property as? ComponentDropdownToolProperty {
             delegate?.kmPDFToolbarControllerDidToolbarItemClicked?(self, value.identifier)
         }
-        reloadData()
     }
     
     func kmPDFSecToolbarControllerDidSelectTextDidBeginEditing(_ controller: KMPDFSecToolbarController, _ view: ComponentSelect) {

+ 137 - 57
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -3201,22 +3201,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "6163A4A2-E45B-421B-9F3E-C61045DDBB88"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMNPDFPageEdit/KMNPDFSplit/KMNSplitPDFWindowController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "164"
-            endingLineNumber = "164"
-            landmarkName = "initContentView()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -3249,22 +3233,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "3E221A66-288C-44CC-885D-E196924822E2"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMNPDFPageEdit/KMNPDFSplit/KMNSplitPDFWindowController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "118"
-            endingLineNumber = "118"
-            landmarkName = "updateUILanguage()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -3920,22 +3888,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "338486FE-5868-4E54-957A-3F6290C9D62E"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "PDF Master/KMClass/KMNPDFPageEdit/KMNThumbnailView/KMNThumbnailCollectionViewItem.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "82"
-            endingLineNumber = "82"
-            landmarkName = "mouseDown(with:)"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -4391,13 +4343,13 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1128"
-            endingLineNumber = "1128"
+            startingLineNumber = "1129"
+            endingLineNumber = "1129"
             landmarkName = "componentGroupDidSelect(group:menuItemProperty:)"
             landmarkType = "7">
             <Locations>
                <Location
-                  uuid = "343E7BFB-E0E6-4622-82D3-22CE9BA091CD - 1f09890bef13355f"
+                  uuid = "343E7BFB-E0E6-4622-82D3-22CE9BA091CD - 1f09890bef1335fa"
                   shouldBeEnabled = "Yes"
                   ignoreCount = "0"
                   continueAfterRunningActions = "No"
@@ -4407,12 +4359,12 @@
                   urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
                   startingColumnNumber = "9223372036854775807"
                   endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1127"
-                  endingLineNumber = "1127"
-                  offsetFromSymbolStart = "3164">
+                  startingLineNumber = "1130"
+                  endingLineNumber = "1130"
+                  offsetFromSymbolStart = "3080">
                </Location>
                <Location
-                  uuid = "343E7BFB-E0E6-4622-82D3-22CE9BA091CD - 1f09890bef1335bc"
+                  uuid = "343E7BFB-E0E6-4622-82D3-22CE9BA091CD - 1f09890bef13359d"
                   shouldBeEnabled = "Yes"
                   ignoreCount = "0"
                   continueAfterRunningActions = "No"
@@ -4422,8 +4374,8 @@
                   urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
                   startingColumnNumber = "9223372036854775807"
                   endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "1128"
-                  endingLineNumber = "1128"
+                  startingLineNumber = "1129"
+                  endingLineNumber = "1129"
                   offsetFromSymbolStart = "3040">
                </Location>
             </Locations>
@@ -4797,5 +4749,133 @@
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "ABBC10FB-38C1-4C70-8BD7-D4CD36BB018E"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "522"
+            endingLineNumber = "522"
+            landmarkName = "clickWithIdentify(_:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "4D98DE8D-3A28-4E9E-8342-9F8FDF89CD76"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "838"
+            endingLineNumber = "838"
+            landmarkName = "componentDropdownToolDidClicked(_:menuItem:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "1C6DD11D-5C05-4E1F-AE96-6131B858E3FC"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1153"
+            endingLineNumber = "1153"
+            landmarkName = "componentGroupDidSelect(group:menuItemProperty:)"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "1C6DD11D-5C05-4E1F-AE96-6131B858E3FC - 1f09890bef1330e2"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMPDFToolbarController.componentGroupDidSelect(group: Swift.Optional&lt;KMComponentLibrary.ComponentGroup&gt;, menuItemProperty: Swift.Optional&lt;KMComponentLibrary.ComponentMenuitemProperty&gt;) -&gt; ()"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1154"
+                  endingLineNumber = "1154"
+                  offsetFromSymbolStart = "5640">
+               </Location>
+               <Location
+                  uuid = "1C6DD11D-5C05-4E1F-AE96-6131B858E3FC - 1f09890bef133085"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMPDFToolbarController.componentGroupDidSelect(group: Swift.Optional&lt;KMComponentLibrary.ComponentGroup&gt;, menuItemProperty: Swift.Optional&lt;KMComponentLibrary.ComponentMenuitemProperty&gt;) -&gt; ()"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/Toolbar/KMPDFToolbarController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "1153"
+                  endingLineNumber = "1153"
+                  offsetFromSymbolStart = "5060">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "5463DABB-AD8F-4C5A-98FB-979E4BFED429"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/KMClass/KMPDFViewController/Toolbar/KMPDFSecToolbarController.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "461"
+            endingLineNumber = "461"
+            landmarkName = "buttonClicked(_:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "60455479-4E8C-431F-8DD8-234DD757EACC"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/PDFWindowController/PDFListView/CPDFKitExtensions/CPDFListViewExtension/CPDFListView+Event.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "44"
+            endingLineNumber = "44"
+            landmarkName = "-mouseDown:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "02F30535-8F42-451E-AFB8-0900E99CAED9"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KMComponentLibrary/KMComponentLibrary/View/Select/ComponentSelect.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "509"
+            endingLineNumber = "509"
+            landmarkName = "componentGroupDidSelect(group:menuItemProperty:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>