From: Roopesh Chander Date: Mon, 1 Apr 2019 17:59:15 +0000 (+0530) Subject: iOS: Log view: Make log text selectable X-Git-Tag: 0.0.20190409-6~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0299c3929eb61926a0d963f6ea5c54a1d6cc85fc;p=thirdparty%2Fwireguard-apple.git iOS: Log view: Make log text selectable Signed-off-by: Roopesh Chander --- diff --git a/WireGuard/WireGuard/UI/iOS/ViewController/LogViewController.swift b/WireGuard/WireGuard/UI/iOS/ViewController/LogViewController.swift index bcfbaf5..0c881f3 100644 --- a/WireGuard/WireGuard/UI/iOS/ViewController/LogViewController.swift +++ b/WireGuard/WireGuard/UI/iOS/ViewController/LogViewController.swift @@ -8,7 +8,7 @@ class LogViewController: UIViewController { let textView: UITextView = { let textView = UITextView() textView.isEditable = false - textView.isSelectable = false + textView.isSelectable = true textView.font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.body) textView.adjustsFontForContentSizeCategory = true return textView @@ -69,7 +69,9 @@ class LogViewController: UIViewController { guard !fetchedLogEntries.isEmpty else { return } let isScrolledToEnd = self.textView.contentSize.height - self.textView.bounds.height - self.textView.contentOffset.y < 1 let text = fetchedLogEntries.reduce("") { $0 + $1.text() + "\n" } - self.textView.insertText(text) + let font = UIFont.preferredFont(forTextStyle: UIFont.TextStyle.body) + let richText = NSAttributedString(string: text, attributes: [.font: font]) + self.textView.textStorage.append(richText) if isScrolledToEnd { let endOfCurrentText = NSRange(location: (self.textView.text as NSString).length, length: 0) self.textView.scrollRangeToVisible(endOfCurrentText)