Swift 使用NSLayout以编程方式向UILabel添加约束
我正在尝试将UILabel添加到我的ViewController中,并使用NSLayout对其进行约束。但是,当我尝试使用NSLayout时,UILabel甚至没有出现在我的视图中。有人知道解决办法吗Swift 使用NSLayout以编程方式向UILabel添加约束,swift,uilabel,nslayoutconstraint,Swift,Uilabel,Nslayoutconstraint,我正在尝试将UILabel添加到我的ViewController中,并使用NSLayout对其进行约束。但是,当我尝试使用NSLayout时,UILabel甚至没有出现在我的视图中。有人知道解决办法吗 excersice1label = UILabel() excersice1label.textAlignment = .center excersice1label.text = "Excercise 1" excersice1label.font
excersice1label = UILabel()
excersice1label.textAlignment = .center
excersice1label.text = "Excercise 1"
excersice1label.font = UIFont.boldSystemFont(ofSize: 20)
view.addSubview(excersice1label)
NSLayoutConstraint.activate([
excersice1label.centerXAnchor.constraint(equalTo: view.centerXAnchor),
excersice1label.centerYAnchor.constraint(equalTo: view.centerYAnchor ,constant: -110),
excersice1label.widthAnchor.constraint(equalToConstant: view.frame.width - 64)
])
您需要添加以下行:
exercise1label.translatesAutoresizingMaskIntoConstraints = false
苹果表示:
如果此属性的值为true,系统将创建一组
与视图属性指定的行为重复的约束
自动调整大小的面具。如果要使用“自动布局”来动态
计算视图的大小和位置,必须设置此值
属性设置为false,然后提供一个无歧义、无冲突的
视图的约束集
(1) 注意控制台。Xcode控制台会准确地告诉您问题所在。(2) 单词是“锻炼”。@matt谢谢,是的,我已经有了一个不同的标签叫锻炼,所以我把这个锻炼命名为Exercise。