设置自动布局时
假设你右面的view是根据左面的view来定左起点,左面的view又宽度不固定,可以试试下面的方法
codeLabel.setContentHuggingPriority(UILayoutPriority(rawValue: 1000), for: .horizontal)
telephoneNumberTextField.setContentCompressionResistancePriority(UILayoutPriority(rawValue: 1000), for: .horizontal)
ContentHuggingPriority ==> 表示codeLabel的内容不想被拉伸
ContentCompressionResistancePriority ==> 表示telephoneNumberTextField的内容不想被收缩
horizontal ==> 表示在哪个方向上做适应
默认情况下: HuggingPriority == 250, CompressionResistancePriority == 750
需要考虑2种情况,左右2边数据均不足的时候,谁拉伸?左右2边数据均充足的时候,谁收缩?
-
左右2边数据均不足的时候,谁拉伸,这个由HuggingPriority控制。如果想让左边的内容拉伸,就设置左边的数值<250(或让右边的>250);如果想让右边的内容拉伸,就设置右边的数值<250 (或让左边的>250)。左右两个Label对比,数值越大,越不想被拉伸,结果也不会被拉伸;数值越小,越容易被拉伸。
-
左右2边数据都充足的时候,谁收缩,这个由ContentCompressionResistancePriority控制。如果想让左边的内容收缩,就设置左边的数值<750(或让右边的>750);如果想让右边的内容收缩,就设置右边的数值<750(或让左边的>750)。
网友评论