美文网首页
Masonry中ContentHuggingPriority与C

Masonry中ContentHuggingPriority与C

作者: MJBaby | 来源:发表于2018-11-13 14:44 被阅读127次

    在项目中,我经常用 masonry 布局页面,常常遇到两个 label 宽度不相等造成的显示问题,下面来总结一下:
    现左右两个Label的宽度不相等,此时需要根据设置setContentHuggingPriority 和 setContentCompressionResistancePriority 来控制哪边的 label 拉伸,哪边的 label 收缩。

    先说明一下:
    ContentHuggingPriority ==> 表示当前的Label的内容不想被拉伸
    ContentCompressionResistancePriority ==> 表示当前的Label的内容不想被收缩

    默认情况下: HuggingPriority == 250, CompressionResistancePriority == 750

    需要考虑两种情况:
    1、左右两边数据均不足的时候,谁拉伸?
    2、左右两边数据均充足的时候,谁收缩?

    左右两边数据均不足的时候,谁拉伸:
    这个由HuggingPriority控制。
    如果想让左边的内容拉伸,就设置左边的数值<250(或让右边的>250);如果想让右边的内容拉伸,就设置右边的数值<250 (或让左边的>250)。左右两个Label对比,数值越大,越不想被拉伸,结果也不会被拉伸;数值越小,越容易被拉伸。


    左右两边数据均不足时

    左右两边数据都充足的时候,谁收缩:
    这个由ContentCompressionResistancePriority控制。如果想让左边的内容收缩,就设置左边的数值<750(或让右边的>750);如果想让右边的内容收缩,就设置右边的数值<750(或让左边的>750)。


    左右两边数据都充足时

    相关文章

      网友评论

          本文标题:Masonry中ContentHuggingPriority与C

          本文链接:https://www.haomeiwen.com/subject/vhqlfqtx.html