Swift 视觉格式语言不工作
Swift Visual Format Language Not working
我正在尝试让视觉格式语言在 swift 中工作,但我无法通过一个简单的示例让它工作。我试图让标签显示在左上角以外的其他地方。现在它是这样显示的:
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
let label = UILabel()
label.text = "Label 1"
label.sizeToFit()
self.view.addSubview(label)
self.view.translatesAutoresizingMaskIntoConstraints = false
let views = Dictionary(dictionaryLiteral: ("label", label))
let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|-30-[label]-|",
options: [],
metrics: nil,
views: views)
self.view.addConstraints(horizontalConstraints)
let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("V:|-30-[label]-|",
options: [],
metrics: nil,
views: views)
self.view.addConstraints(verticalConstraints)
}
谁能看出哪里出了问题?
您需要添加label.translatesAutoresizingMaskIntoConstraints = false
如果没有这个,标签的自动调整掩码会在执行 layoutSubviews
时转换为约束。布尔值仅适用于视图而不适用于其子视图。
我正在尝试让视觉格式语言在 swift 中工作,但我无法通过一个简单的示例让它工作。我试图让标签显示在左上角以外的其他地方。现在它是这样显示的:
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
let label = UILabel()
label.text = "Label 1"
label.sizeToFit()
self.view.addSubview(label)
self.view.translatesAutoresizingMaskIntoConstraints = false
let views = Dictionary(dictionaryLiteral: ("label", label))
let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|-30-[label]-|",
options: [],
metrics: nil,
views: views)
self.view.addConstraints(horizontalConstraints)
let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("V:|-30-[label]-|",
options: [],
metrics: nil,
views: views)
self.view.addConstraints(verticalConstraints)
}
谁能看出哪里出了问题?
您需要添加label.translatesAutoresizingMaskIntoConstraints = false
如果没有这个,标签的自动调整掩码会在执行 layoutSubviews
时转换为约束。布尔值仅适用于视图而不适用于其子视图。