Jelajahi Sumber

【综合】点击注释回复输入框无响应

tangchao 5 bulan lalu
induk
melakukan
343971bb70

+ 24 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Annotation/View/KMNoteFooterCellView.swift

@@ -31,6 +31,15 @@ class KMNoteFooterCellView: NSTableCellView, NibLoadable {
     @IBOutlet weak var inputBoxHeightConst: NSLayoutConstraint!
     @IBOutlet weak var replyButtonTopConst: NSLayoutConstraint!
     
+    private lazy var inputRespButton_: NSButton = {
+        let view = NSButton()
+        view.isBordered = false
+        view.title = NSLocalizedString("", comment: "")
+        view.target = self
+        view.action = #selector(_inputRespButtonAction)
+        return view
+    }()
+    
     var itemClick: KMCommonClickBlock?
     
     var model: KMBotaAnnotationFooterModel?
@@ -87,14 +96,22 @@ class KMNoteFooterCellView: NSTableCellView, NibLoadable {
             }
             if result {
                 self?.inputBox.borderColor = NSColor.km_init(hex: "#1770F4")
+                
+                self?.inputRespButton_.isHidden = true
             } else {
                 if KMAppearance.isDarkMode() {
                     self?.inputBox.borderColor = NSColor(hex: "#56585A")
                 } else {
                     self?.inputBox.borderColor = NSColor(white: 0, alpha: 0.2)
                 }
+                self?.inputRespButton_.isHidden = false
             }
         }
+        
+        self.inputBox.contentView?.addSubview(self.inputRespButton_)
+        self.inputRespButton_.frame = self.inputBox.contentView?.bounds ?? .zero
+        self.inputRespButton_.autoresizingMask = [.width, .height]
+        
         self.replyButton.title = NSLocalizedString("Reply", comment: "")
         self.replyButton.wantsLayer = true
         self.replyButton.setTitleColor(color: .white, font: .SFProTextRegularFont(13))
@@ -184,6 +201,11 @@ class KMNoteFooterCellView: NSTableCellView, NibLoadable {
         self.itemClick?(2, sender)
     }
     
+    @objc private func _inputRespButtonAction() {
+        self.window?.makeFirstResponder(self.inputTextF)
+        self.inputRespButton_.isHidden = true
+    }
+    
     override func updateLayer() {
         super.updateLayer()
         
@@ -206,6 +228,8 @@ extension KMNoteFooterCellView: NSTextFieldDelegate {
                 self.inputBox.borderColor = NSColor(white: 0, alpha: 0.2)
             }
             self.flag_ = false
+            
+            self.inputRespButton_.isHidden = false
         }
     }
 }