我正在使用自动布局(NSLayoutConsraint)创建一个 xib。有没有办法使用 sizeToFit 或类似的东西来使 UILabel 适合它的内容?
我尝试设置“大于或等于 x”的约束,并尝试将高度设置为低于此。但是,它会不断覆盖 height 属性。当你有 NSLayoutConstraints 时,sitToFit 似乎不起作用。
我怎样才能让标签的大小合适?
为您的宽度和高度约束创建一个 IBOutlet,并使用它sizeToFit
来更改它们的constant
属性,然后调用needsUpdateConstraints
对 UILabel 的高度使用“大于约束”并sizeToFit
在内部调用viewDidLayoutSubviews
对我来说是诀窍
我不需要打电话needsUpdateConstraints
。
您还需要将行数设置为 0 以允许无限数量的行或 > 1 如果您想要限制。
还preferredMaxLayoutWidth
需要设置属性,界面生成器会自动将其设置为视图宽度。
您应该尝试降低您的高度限制优先级。