Swift 使用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

我正在尝试将UILabel添加到我的ViewController中,并使用NSLayout对其进行约束。但是,当我尝试使用NSLayout时,UILabel甚至没有出现在我的视图中。有人知道解决办法吗

      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。