iOS Autolayout中的“压缩阻力”和“内容吸附”的使用

1、什么是压缩阻力(Content Compression Resistance Priority):

压缩阻力是视图保护其内容不被压缩的方式,压缩阻力高的视图能够抵抗收缩,防止内容被压缩。一般出现在给视图的宽度的约束小于视图内容显示需要的宽度,这时视图内容就会被压缩

2、什么是内容吸附(Content Hugging Priority):

内容吸附防止在视图与其核心内容间做填充或者直接伸展其核心内容。一般出现在给视图的宽度的约束大于视图内容显示需要的宽度,视图与其核心内容间就会被填充或者直接伸展其核心内容

注意:水平方向和垂直方向的“压缩阻力优先级”以及“内容吸附优先级”的使用方法是一样的,所以在下面的例子中只演示水平方向上面的使用

3、压缩阻力使用示例

选中添加约束的视图控件之后,打开Xcode的Show the Size inspector面板,在面板的最底部可以看到Content Compression Resistance Priority相关优先级的设置页面

【图1】是上面的按钮的约束信息,【图2】是下面的按钮的约束信息。

  1. 在“压缩阻力优先级示例”中分别添加了两个标题相同的按钮,
  2. 两个按钮的宽度约束都是100,压缩阻力的优先级都是1000。
  3. 上面的按钮的宽度约束优先级设置为750,
  4. 下面的按钮的宽度约束设置为1000。

从示例中可以看到,上面的按钮内容没有被压缩,下面的按钮按照设置的约束的宽度显示,内容被压缩。

iOS Autolayout中的“压缩阻力”和“内容吸附”的使用_第1张图片
【图1】压缩阻力优先级示例,压缩阻力优先级高于宽度的优先级
iOS Autolayout中的“压缩阻力”和“内容吸附”的使用_第2张图片
【图2】压缩阻力优先级示例,压缩阻力优先级小于等于宽度的优先级

你可能感兴趣的:(iOS Autolayout中的“压缩阻力”和“内容吸附”的使用)