我试图以编程方式更改UILabel的宽度。
我知道我可以做到这一点UILabel.frame.size = CGRectMake(x, y, width, height)
但我不想设置x和y值,以便它适用于每个手机型号。有什么建议来过来吗?
答案 0 :(得分:1)
您不需要为UILabel添加约束。宽度和高度,因为它们具有内在的内容大小,这取决于文本,字体,字体大小......等属性。
这篇文章How to set UILabel only width and height and constraints programatically,是针对objective-c编写的,应该让您了解如何解决这个问题。
答案 1 :(得分:0)
您正在更改框架这意味着您没有正确使用自动布局
如果您使用自动布局并且想要更改标签宽度,我希望您在标签上设置宽度约束并更改其constant
属性,然后请求布局更新。
如果您确实应用了约束,请记住它们以编程方式接管帧,因此在布局更新后,您的新帧可能会再次设置为初始值。
答案 2 :(得分:0)
尝试:
let newWidth: CGFloat = 100.0 //However wide you want your label to be
myLabel.frame.size.width = newWidth