Browse Source

update fix bugs link

alqindiirsyam 2 years ago
parent
commit
aeb018cee5

+ 8 - 7
appbuilder-ios/NexilisLite/NexilisLite/Source/View/Chat/EditorGroup.swift

@@ -87,7 +87,6 @@ public class EditorGroup: UIViewController {
     var lastPositionCursorMention = 0
     var timerLongPressLink: Timer?
     var timerFakeProgress: Timer?
-    var lastTouchPoint: CGPoint = .zero
     var showMenuContext = false
     var touchedSubview = UIView()
     var listViewOnSection: [UIView] = []
@@ -4698,15 +4697,17 @@ extension EditorGroup: UITableViewDelegate, UITableViewDataSource {
         guard let text = label.text else { return nil }
         
         let layoutManager = NSLayoutManager()
-        let textContainer = NSTextContainer(size: label.frame.size)
-        let textStorage = NSTextStorage(attributedString: NSAttributedString(string: text))
+        let textContainer = NSTextContainer(size: .zero)
+        let textStorage = NSTextStorage(attributedString: label.attributedText ?? NSAttributedString())
         
         layoutManager.addTextContainer(textContainer)
         textStorage.addLayoutManager(layoutManager)
-        textContainer.lineFragmentPadding = 0
+        
+        textContainer.lineFragmentPadding = 0.0
+        textContainer.lineBreakMode = label.lineBreakMode
         textContainer.maximumNumberOfLines = label.numberOfLines
+        textContainer.size = label.bounds.size
         
-        lastTouchPoint = point
         let characterIndex = layoutManager.characterIndex(for: point, in: textContainer, fractionOfDistanceBetweenInsertionPoints: nil)
         
         if characterIndex == text.count - 1 {
@@ -4740,8 +4741,8 @@ extension EditorGroup: UITableViewDelegate, UITableViewDataSource {
     }
     
     @objc func tapMessageText(_ sender: ObjectGesture) {
-        var stringURl = sender.message_id.lowercased()
-        if stringURl.starts(with: "www.") {
+        var stringURl = sender.message_id
+        if stringURl.lowercased().starts(with: "www.") {
             stringURl = "https://" + stringURl.replacingOccurrences(of: "www.", with: "")
         }
         guard let url = URL(string: stringURl) else { return }

+ 8 - 7
appbuilder-ios/NexilisLite/NexilisLite/Source/View/Chat/EditorPersonal.swift

@@ -97,7 +97,6 @@ public class EditorPersonal: UIViewController, ImageVideoPickerDelegate, UIGestu
     var timerCheckLink: Timer?
     var timerLongPressLink: Timer?
     var timerFakeProgress: Timer?
-    var lastTouchPoint: CGPoint = .zero
     var showMenuContext = false
     var touchedSubview = UIView()
     var listViewOnSection: [UIView] = []
@@ -6140,15 +6139,17 @@ extension EditorPersonal: UITableViewDelegate, UITableViewDataSource {
         guard let text = label.text else { return nil }
         
         let layoutManager = NSLayoutManager()
-        let textContainer = NSTextContainer(size: label.frame.size)
-        let textStorage = NSTextStorage(attributedString: NSAttributedString(string: text))
+        let textContainer = NSTextContainer(size: .zero)
+        let textStorage = NSTextStorage(attributedString: label.attributedText ?? NSAttributedString())
         
         layoutManager.addTextContainer(textContainer)
         textStorage.addLayoutManager(layoutManager)
-        textContainer.lineFragmentPadding = 0
+        
+        textContainer.lineFragmentPadding = 0.0
+        textContainer.lineBreakMode = label.lineBreakMode
         textContainer.maximumNumberOfLines = label.numberOfLines
+        textContainer.size = label.bounds.size
         
-        lastTouchPoint = point
         let characterIndex = layoutManager.characterIndex(for: point, in: textContainer, fractionOfDistanceBetweenInsertionPoints: nil)
         
         if characterIndex == text.count - 1 {
@@ -6182,8 +6183,8 @@ extension EditorPersonal: UITableViewDelegate, UITableViewDataSource {
     }
     
     @objc func tapMessageText(_ sender: ObjectGesture) {
-        var stringURl = sender.message_id.lowercased()
-        if stringURl.starts(with: "www.") {
+        var stringURl = sender.message_id
+        if stringURl.lowercased().starts(with: "www.") {
             stringURl = "https://" + stringURl.replacingOccurrences(of: "www.", with: "")
         }
         guard let url = URL(string: stringURl) else { return }