Browse Source

[超链接] - 切换之后输入框显示优化

liujiajie 11 months ago
parent
commit
47d4d56f56

+ 31 - 27
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationSelectLinkViewController.swift

@@ -188,15 +188,14 @@ enum KMAnnotationLinkType: UInt {
 
         inputUrlTextField.inputContext?.allowedInputSourceLocales = [NSAllRomanInputSourcesLocaleIdentifier]
 
-        if annotation?.url() != nil {
-            if let scheme = annotation?.url().fileURL.scheme {
-                if scheme == "mailto" {
-                    linkType = .email
-                    mouseDownBox = linkEmailBox
-                } else {
-                    linkType = .url
-                    mouseDownBox = linkUrlBox
-                }
+        if let annotationURL = annotation?.url() {
+            var urlString = annotationURL.fileURL.absoluteString
+            if annotationURL.hasPrefix("mailto:") {
+                linkType = .email
+                mouseDownBox = linkEmailBox
+            } else {
+                linkType = .url
+                mouseDownBox = linkUrlBox
             }
         } else {
             linkType = .page
@@ -323,17 +322,19 @@ enum KMAnnotationLinkType: UInt {
         
         if let annotationURL = annotation?.url() {
             var urlString = annotationURL.fileURL.absoluteString
-            if urlString.hasPrefix("http://") {
-                urlString = String(urlString.suffix(from: urlString.index(urlString.startIndex, offsetBy: 7)))
-            } else if urlString.hasPrefix("https://") {
-                urlString = String(urlString.suffix(from: urlString.index(urlString.startIndex, offsetBy: 8)))
+            if !annotationURL.hasPrefix("mailto:") {
+                if urlString.hasPrefix("http://") {
+                    urlString = String(urlString.suffix(from: urlString.index(urlString.startIndex, offsetBy: 7)))
+                } else if urlString.hasPrefix("https://") {
+                    urlString = String(urlString.suffix(from: urlString.index(urlString.startIndex, offsetBy: 8)))
+                }
+                inputUrlTextField.stringValue = annotationURL//urlString
+                urlRecord = urlString
+            }else {
+                inputUrlTextField.stringValue = ""
             }
-            inputUrlTextField.stringValue = urlString 
-            urlRecord = urlString 
-        }
-        
-        if inputUrlTextField.stringValue.isEmpty {
-            inputUrlTextField.stringValue = urlRecord!
+        }else {
+            inputUrlTextField.stringValue = ""
         }
         
         if urlRecord!.isEmpty {
@@ -351,17 +352,20 @@ enum KMAnnotationLinkType: UInt {
         urlLabel.textColor = KMAppearance.Layout.h1Color()
         inputUrlTextField.placeholderString = "support@pdfreaderpro.com"
         
-        let urlString = annotation?.url() ?? ""
-        if urlString.fileURL.scheme == "mailto" {
-            if let urlString = annotation?.url().fileURL.absoluteString, urlString.hasPrefix("mailto:") {
+        if let annotationURL = annotation?.url() {
+//            if let urlString = annotation?.url().fileURL.absoluteString, urlString.hasPrefix("mailto:") {
+//                let trimmedString = String(urlString.suffix(from: urlString.index(urlString.startIndex, offsetBy: 7)))
+//                inputUrlTextField.stringValue = trimmedString
+//                emailRecord = trimmedString
+//            }
+            var urlString = annotationURL.fileURL.absoluteString
+            if annotationURL.hasPrefix("mailto:") {
                 let trimmedString = String(urlString.suffix(from: urlString.index(urlString.startIndex, offsetBy: 7)))
-                inputUrlTextField.stringValue = trimmedString
+                inputUrlTextField.stringValue = annotationURL
                 emailRecord = trimmedString
             }
-            
-            if inputUrlTextField.stringValue.count > 0 {
-                inputUrlTextField.stringValue = emailRecord!
-            }
+        }else {
+            inputUrlTextField.stringValue = ""
         }
         
         if emailRecord!.count > 0 {