Я использую Auto Layout (программно) для настройки моего ViewController, я получил все, что хотел, но теперь я хочу сделать свой код более эффективным, и я заметил, что у меня довольно много повторяющихся кодов, я пытаясь понять, как взять повторяющийся код в закрытии переменной и поместить его в другое место, чтобы код был чище.
Как мне очистить мой код? Все еще плохо знаком с переменными замыканиями.
Код, который я скопировал и вставил, является глобальной переменной.
let descriptionTextViewOne: UITextView = {
let textView = UITextView()
let text = "Tap anywhere to start\nyour day right!"
let shadow = NSShadow()
shadow.shadowColor = UIColor.white
shadow.shadowOffset = CGSize(width: 1, height: 1)
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.init(name: "Marker felt", size: 25)!,
.foregroundColor: UIColor.init(red: 91.0/255.0, green: 91.0/255.0, blue: 91.0/255.0, alpha: 1.0),
.shadow: shadow
]
let attributedText = NSAttributedString(string: text, attributes: attributes)
textView.attributedText = attributedText
textView.textAlignment = .center
textView.isEditable = false
textView.isScrollEnabled = false
textView.isSelectable = false
textView.translatesAutoresizingMaskIntoConstraints = false
textView.backgroundColor = .clear
return textView
}()
let descriptionTextViewTwo: UITextView = {
let textView = UITextView()
let text = "A happy video a day\nmakes the heartache\ngo away."
let shadow = NSShadow()
shadow.shadowColor = UIColor.white
shadow.shadowOffset = CGSize(width: 1, height: 1)
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.init(name: "Marker felt", size: 25)!,
.foregroundColor: UIColor.init(red: 91.0/255.0, green: 91.0/255.0, blue: 91.0/255.0, alpha: 1.0),
.shadow: shadow
]
let attributedText = NSAttributedString(string: text, attributes: attributes)
textView.attributedText = attributedText
textView.textAlignment = .center
textView.isEditable = false
textView.isScrollEnabled = false
textView.isSelectable = false
textView.translatesAutoresizingMaskIntoConstraints = false
textView.backgroundColor = .clear
return textView
}()