首页 > 解决方案 > 如何为标签添加约束?

问题描述

所以我创建了一个数组并将其放入 UILabel 中,现在我希望这个标签贴在顶部。但是通过网络搜索这就是我能想到的:

let currentWeek = Date()

let weekDays = UILabel.init()
weekDays.frame = CGRect(x: 10, y: 65, width: 414, height: 25)
weekDays.text = "\(currentWeek.day())"
self.view.addSubview(weekDays)
weekDays.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
weekDays.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
weekDays.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
weekDays.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true

根据一些指南,这组约束应该使我的标签伸展以填满整个屏幕。但即使我没有收到任何错误警告,它也没有改变我标签的外观。

标签: swiftxcodeconstraintsanchor

解决方案


设置translatesAutoresizingMaskIntoConstraintsweekDaysfalse

weekDays.translatesAutoresizingMaskIntoConstraints = false

一个布尔值,用于确定视图的自动调整大小掩码是否转换为自动布局约束。

默认情况下,对于您以编程方式创建的任何视图,该属性都设置为 true。如果在 Interface Builder 中添加视图,系统会自动将此属性设置为 false。

并添加height constrainttoweekDays而不是bottomAnchor, 即。

weekDays.heightAnchor.constraint(equalToConstant: 100.0)

推荐阅读