对Xcode8的一些想法(个人理解)

昨天同学帮我解决了一个技术问题,该问题是,如果在登录状况下就显示根控制器为欢迎界面,动画效果为图片由下往上移动,没有添加任何转场动画,但事实上图片是侧滑上去的,这个BUG我想了很久,但是解决方法非常简单:

因为xib设置的图片刚开始并没有固定的尺寸,viewdidload方法里无法准确获得控件的尺寸导致的,可以考虑在视图的生命周期中的"viewwillappear"或者"viewdidappear"里调试。

这确实是一种编程思维,回想起来,用xcode8编译的时候,像这样子的事情,确实发生了不少,很多控件刚开始进入的时候就特别大,也是因为xib导致的,让我不得不思考一种编程思想,是xcode早期的编程思维

一种常见的开发思路:

1.在viewDidLoad方法中添加初始化子控件

2.在viewDidLayoutSubviews方法中布局子控件

另一种常见思路:

1.控件懒加载

2.在viewDidLayoutSubviews方法中布局子控件


作为一些细节处理,虽然我不懂什么“MMVM“的思想,但是为了控件一定有值,而且按照自己的规律来行走来说,这两步骤,学会其中之一,对于xcode8而言,非常重要,特别是用xib布局的时候。因为有时候控件常常没有尺寸,或者干脆就是nil的时候面对复杂多变的需求有必要注意这些细节多想一想以下方法:

1.视图生命周期

2.控制器的viewDidLayoutSubviews方法

3.view的layoutsubviews方法

4.是否hidden,是否alpha为0?

5.是否没有加载到控件?

6.是构造(init)方法加载还是aweakfromnib方法加载?

你可能感兴趣的:(对Xcode8的一些想法(个人理解))