使用Autolay时自动调整UILabel的大小

我使用自动布局(NSLayoutConsraint)创build一个xib。 有没有办法使用sizeToFit或类似的东西,使UILabel适合其内容?

我已经尝试设置“大于或等于x”的约束,并尝试将高度设置为低于此值。 但是,它会一直覆盖高度属性。 当你有NSLayoutConstraints时sitToFit似乎不工作。

我怎样才能得到适当的尺寸标签?

为您的宽度和高度约束创build一个IBOutlet,并使用sizeToFit来更改其constant属性,并调用needsUpdateConstraints

对UILabel的高度使用“大于约束”,并在viewDidLayoutSubviews调用sizeToFit为我做了诀窍

我不需要调用needsUpdateConstraints

您还需要将行数设置为0以允许无限制的行数,如果您想要限制,则需要> 1。

此外,属性preferredMaxLayoutWidth需要设置,它由接口生成器自动设置为视图宽度。

您应该尝试降低高度限制优先级。