我有一个UILabel,我已经在视图中心的故事板中放置了。它有一些初始文本“点击登录”。
我将标签的值更改为用户登录后的名称。一旦我这样做,标签就不再居中,因为UILabel没有改变大小。
如何在界面构建器中使用autolayout执行此操作?
答案 0 :(得分:12)
答案 1 :(得分:0)
您可以将UILabel
frame.width
设置得更大,可能与屏幕的宽度相同。
然后设置
label.textAlignment = NSTextAlignmentCenter
答案 2 :(得分:0)
答案 3 :(得分:-1)
我猜测标签没有得到高度和宽度,考虑给出这些约束,然后当你的文本改变时使用这个方法来确定高度和宽度:
func labelSizeWithString(text: String, maxWidth : CGFloat,numberOfLines : Int) -> CGRect{
let label = UILabel(frame: CGRectMake(0, 0, maxWidth, CGFloat.max))
label.numberOfLines = numberOfLines
label.text = text
label.sizeToFit()
return label.frame
}