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進行一些記錄