1.关于IntrinsicContentSize
平时用的UIlabel,UIButton, UIImageView有该属性,他们可以根据自己的内容调节大小
对于哪些View有IntrinsicContentSize,Apple给了一张表:
从上面的列表可以看出,UIView和NSView是没有IntrinsicContentSize属性的,所以要自定义的View具有默认的宽高,只需要重写-IntrinsicContentSize方法,即可让其拥有默认的宽高。
-(CGSize)intrinsicContentSize{
return CGSizeMake(100, 100);
}
拥有默认Size后就可以很方便的用autoLayout进行对View的约束了,再也不用担心View没有默认宽高
对于IntrinsicContentSize,Autolayout又把他分成了2个部分:ContentHugging和CompressionResistance。这个我单独对Autolayout进行一些记录
网友评论