Я сделал домашнее задание для жизненного цикла контроллеров представления. Я использовал вкладку для переключения контроллеров. А при переключении контроллеров метка текстового представления отображает методы жизненного цикла.
Теперь я хочу изменить цвет текста в текстовом представлении для выражений «Первый контроллер», «Второй контроллер», «Третий контроллер», чтобы цвета оставались неизменными независимо от того, на какой контроллер я переключаюсь.
https://youtu.be/Od_bFlaA-kY
Как это сделать?
import UIKit
class FirstViewController: UIViewController {
@IBOutlet var firstTextView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
FromCodeToScreen.shared.printMessage(textView: firstTextView, viewController: self)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
FromCodeToScreen.shared.printMessage(textView: firstTextView, viewController: self)
}
override func viewDidAppear(_ animated: Bool) {
super.viewWillAppear(animated)
FromCodeToScreen.shared.printMessage(textView: firstTextView, viewController: self)
}
// And similar code in all of the other lifecycle methods
}
import UIKit
class FromCodeToScreen: NSObject {
static let shared = FromCodeToScreen()
private var arrayForData = [String]()
private override init() {
super.init()
}
func printMessage(textView: UITextView, viewController: UIViewController, function: String = #function) {
arrayForData.append((viewController.title ?? "nil") + " - " + (function))
let string = arrayForData.joined(separator: "\n")
textView.text = string
textViewScrollToBottom(textView)
}
}