[转]AutoResizing的不合理布局

转载自:http://www.jianshu.com/p/b637d3d21606

不合理布局

UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin
view与其superView的左边距和右边距的比例维持不变,上下间距固定,宽高固定(下图的xib中预览效果与实际效果有差,实际效果是view的上边距不变)这种约束方式相当于上下间距固定,宽高固定,那么父控件高度缩放的时候就会产生冲突,所以这种布局方式是不合理的

UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin.gif

topAndBottom.gif

UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin
view与其superView的上边距和下边距的比例维持不变,左右间距固定,宽高固定(这种约束方式相当于左右间距固定,宽高固定,那么父控件宽度缩放的时候就会产生冲突,所以这种布局方式也是不合理的)

UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin.gif

leftAndRight.gif

UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth
view与其superView的左边距和width按比例调整,高度固定,右边距固定,上边距固定,下边距固定(下图的xib中预览效果与实际效果有差,实际效果是view的上边距不变)(这种约束方式相当于上下间距固定,高度固定,那么父控件高度缩放的时候就会产生冲突,所以这种布局方式也是不合理的)

UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth .gif

综上发现,只要是我们在水平方向同时固定了左边距和右边距,那么我们千万不能固定子控件的宽度(反应在storyBoard中的设置,也就是必须使控制子控件宽度的虚线变为实线)。同理, 如果垂直方向同时固定了上边距和下边距,那么我们不能固定子控件的高度(反应在storyBoard中的设置,也就是必须使控制子控件高度的虚线变为实线)。

 

文/VV木公子(简书作者)
原文链接:http://www.jianshu.com/p/b637d3d21606
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

Leave a Reply

Your email address will not be published.