下面贴出我自测的结果
前提:一个UIviewController,添加一个ScrollView和Button;ScrollView有三屏的contentSize,每屏添加一个uiview,uiview中无子视图;
方案一:数据初始化、添加子视图、子视图布局都放在viewDidLoad方法中
方案二:frame布局一部分放在viewDidLoad,一部分放在viewWillLayoutSubviews
方案三:数据初始化方法放在init方法中;添加子视图的事件放在viewDidLoad中;子视图的布局放在viewWillLayoutSubviews
通过上面三种写法的测试,可以很直观的看到方案三优于方案一优于方案二