UIView

1.关于IntrinsicContentSize

平时用的UIlabel,UIButton, UIImageView有该属性,他们可以根据自己的内容调节大小
对于哪些View有IntrinsicContentSize,Apple给了一张表:


UIView_第1张图片

从上面的列表可以看出,UIView和NSView是没有IntrinsicContentSize属性的,所以要自定义的View具有默认的宽高,只需要重写-IntrinsicContentSize方法,即可让其拥有默认的宽高。

 -(CGSize)intrinsicContentSize{
    return CGSizeMake(100, 100);
}

拥有默认Size后就可以很方便的用autoLayout进行对View的约束了,再也不用担心View没有默认宽高
对于IntrinsicContentSize,Autolayout又把他分成了2个部分:ContentHugging和CompressionResistance。这个我单独对Autolayout进行一些记录

你可能感兴趣的:(UIView)