初始化init-->awakeFromNib--> prepare a segue --> SB去设置outlets --> viewDidLoad
1. viewDidLoad
在viewDidLoad中,outlets已经被设置;但是几何位置(bounds)并没有被设置
viewDidLoad应该做什么:
初始化你的view的最佳时机,或者说是根据你的model来更新UI;
不要在这里做任何关于几何位置的事情。
2.viewWillAppear
viewWillAppear应该做什么:请求网络数据这种耗时的工作放在这里;也允许做与位置相关的操作。
3. 布局
viewWillLayoutSubviews --> autoLayout去自动布局 -->viewDidLayoutSubviews
4.viewWillDisappear
viewWillAppear应该做什么:做清理数据的工作。
举个splitviewController例子:下面Psychologist是master控制器,happiness是detail控制器

AutoLayout:
利用preview查看当前storyboard:

用Ctrl+拖线来设置SB中的AutoLayout时,可以按住shift来多选。
调整压缩系数,表示当设备的名目尺寸发生变化时,哪些view可以优先被压缩。优先值越低,越会被压缩。

hugging是,这个view到底想不想变小。

imageView的自动布局,在SB中给它设置一张默认的图片,那么他就有默认的宽高。就只用设置位置约束了。
topConstraint并没有设置Equal而是greater than。。。 所以图片可以自适应大小。
SizeClass:
1. 先在any any下实现统一布局
2.选择特殊情况下的sizeClass
3. 移除原来any any的约束,
网友评论