可可Autolayout:内容拥抱vs内容压缩抵抗优先

我无法找到关于Cocoa Autolayout关于内容拥抱和抗压缩之间差异的苹果文档的明确答案。

有人可以解释他们的用法和区别吗?


概念的快速总结:

  • 拥抱=>内容不想增长
  • 压缩电阻=>内容不想缩小
  • 并举例说明:

    假设你有这样的按钮:

    [       Click Me      ]
    

    并且您已将边缘固定到优先级为500的较大超级视图。

    然后,如果拥抱优先级> 500,它将如下所示:

    [Click Me]
    

    如果拥抱优先级<500,它看起来像这样:

    [       Click Me      ]
    

    如果superview现在缩小,那么如果压缩电阻优先级> 500,它看起来像这样

    [Click Me]
    

    否则,如果压缩阻力优先级<500,它可能看起来像这样:

    [Cli..]
    

    如果它不能像这样工作,那么你可能会遇到一些其他的限制,这会让你的工作变得糟糕!

    例如,您可以将它固定到优先级为1000的超级视图。或者,您可以使用宽度优先级。 如果是这样,这可能会有所帮助:

    编辑器>大小以适合内容


    看看这个关于Autolayout的视频教程,他们会认真解释它

    在这里输入图像描述


    在这里输入图像描述

    来源:@mokagio

    固有内容大小 - 非常明了,但具有可变内容的视图知道其内容有多大,并通过此属性描述其内容的大小。 一些明显的具有内在内容大小的视图示例是UIImageViews,UILabels,UIButtons。

    内容拥抱优先级 - 这个优先级越高,视图抵抗越大的内容越大。

    内容压缩阻力优先级 - 此优先级越高,视图抵抗收缩越小于其内在内容大小。

    点击此处查看更多解释:自动布局魔术:内容大小优先

    链接地址: http://www.djcxy.com/p/91585.html

    上一篇: Cocoa Autolayout: content hugging vs content compression resistance priority

    下一篇: make height of view relative to half superview height