From fc7cf7f4dedbe92eb74d46994aab0dc5f0a08892 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Mon, 1 Apr 2019 23:29:15 +0530 Subject: [PATCH] iOS: Log view: Make log text selectable --- .../WireGuard/UI/iOS/ViewController/LogViewController.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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)