微专业GeekBand-IOS应用开发实战笔记-第四周

屏幕快照 2016-04-10 下午10.22.37.png
](http://upload-images.jianshu.io/upload_images/1699213-9b88a5dd6fc2d0ec.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

Frame 和 Bounds

bounds.origin 的作用:定义父类左上角的坐标
subview.center 代表子View的中心,用父View的坐标

-CGAffineTransform transform, 子视图不管父试图变不变形,它只会在已经变形过的父视图里绘制。

界面Autoresizing

主要工作:确定界面元素之间的距离

Structs:固定距离
Springs:根据界面尺寸按比例调整

界面AutoLayout

NSLayoutConstraint 只能表示线性关系,Multiplier + constant

Leading(左边)Trailing (右边)会根据语言环境改变而调换

Adaptive:
在不同的界面大小中加入不同的元素,这对于在不同的机型和方向中更改一些约束变得容易。

比如说字体大小:


这里代表在宽度为窄的情况下,字体大小为12,其它时候则是14

Stack view:
比如说要使得物品排一排,通过Stack view就可以比较轻松地办到

这里使得Name等四个Label排成一排,间距相等

Adaptive Layout

Alignment Rectangle: 布局时视为内容的区域

Content Hugging和Content Compression Resistance,可以通过调整优先级来判断谁会被拉伸和压缩

图中虚线就表示这个约束的优先级比较低

updateConstrains
Don’t call it directly
updateConstraintIfNeeded
setNeedsUpdateConstraints

layoutSubviews
must call super if using auto layout
invoke by layoutIfNeeded or setNeedsLayout

可以在调试时字Argument里面显示AlignmentRects

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容