我想在故事板中更改textLabel
的行间距。我选择text
- > attributed
并将段落line
更改为1.如果我在故事板中使用textLabel
,一切正常。但是,如果我将故事板中的textLabel
与我的ViewController
相关联,则此行间距不起作用。如何解决?
我的代码:
struct Root : Decodable {
let questions : [Question]
}
struct Question : Decodable {
let number, text, rightAnswer : String
}
class ViewController: UIViewController, UITextFieldDelegate {
var questions = [Question]()
@IBOutlet var textLabel: UILabel!
func updateUI(with question: Question) {
title = question.number
textLabel.text = question.text
showAnswerLabel.text = question.rightAnswer
}
}
答案 0 :(得分:0)
您可以通过使用lazy var和一些属性观察器来完成此操作。在Interface Builder中以您希望的方式配置文本样式并使用以下代码:
class ViewController: UIViewController {
@IBOutlet weak var textLabel: UILabel!
lazy var defaultAttributes = textLabel.attributedText!.attributes(at: 0, effectiveRange: nil)
var questionText: String {
get { return textLabel.text! }
set { textLabel.attributedText = NSAttributedString(string: newValue, attributes: defaultAttributes) }
}
override func viewDidLoad() {
super.viewDidLoad()
questionText = "What are the color of yellow cab taxi in New York City?"
}
}
请注意,我们未直接触摸textLabel
来更改其文字。我们通过计算属性questionText
来完成。
结果: