美文网首页
autolayout拾遗

autolayout拾遗

作者: Mr_Zander | 来源:发表于2017-04-24 17:16 被阅读28次
    1. translatesAutoresizingMaskIntoConstraints
    A Boolean value that determines whether the view’s autoresizing 
    mask is translated into Auto Layout constraints.
    一个布尔值,用于确定视图的自动调整掩码是否被转换为自动布局约束。
    

    如果是YES(默认是YES),系统会使用view的autoresizing mask来生成约束,这时如果再对view设置约束就会产生约束冲突。因此,如果要对一个view使用auto layout就必须先把这个属性设置为NO。IB中视图的这个属性默认是NO。

    1. autoresizing Mask
    An integer bit mask that determines how the receiver resizes itself 
    when its superview’s bounds change.
    

    这个属性是用来决定一个view怎么相应它的superview的改变。默认是UIViewAutoresizingNone,也就是子视图不随着父视图的改变而改变。
    另外,在AutoLayout出现之前,iOS一直是使用autoresizing mask来进行布局的,autolayout的优势在于:

    • AutoLayout可以指定任意两个view的相对位置,而不需要像Autoresizing Mask那样需要两个view在直系的view hierarchy中。
    • AutoLayout不必须指定相等关系的约束,它可以指定非相等约束(大于或者小于等);而Autoresizing Mask所能做的布局只能是相等条件的。
    • AutoLayout可以指定约束的优先级,计算frame时将优先按照满足优先级高的条件进行计算。
    1. Intrinsic Content Size
      Intrinsic Content Size是视图更适合显示的特定内容的大小。比如UILabel会根据文字内容自动设置大小、UIImageView会根据图片自动设置大小。因此在设置这类视图约束的时候可以不设置宽高,只设置位置,然后放入填充物(文字、图片。。。)。

    相关文章

      网友评论

          本文标题:autolayout拾遗

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