最近由于iOS8的发布,很多适配问题让我头疼,做了很多尝试,总结以下几个比较有效的方法:
一,界面比较简单的情况下,直接用constrains添加一些限制就可以。
使用最新的Xcode6.1,基于iOS8.1进行开发时会发现,默认情况下的controller是个非手机形状的界面,这是个通用的界面,在这个基础上,添加需要的控件,然后对控件的位置添加限制,比如对齐,居中的限制,如果希望在横纵屏情况下都希望某个控件的大小都保持一致,也可以对这个控件的位置和宽高添加限制。
二,界面的横纵屏显示不同时:
我遇到的情况我分成两类:
1,像是collectionview这种,在横纵不同的情况下,cell的大小不同,滑动方向不同:
这样的情况我选择了在界面旋转的时候,从新设置view,让生命周期从view will appear开始从新走一遍,将相关的东西从新设置从新加载。这样的话我需要在storyboard中添加collectionview 的限制,这样在翻转的时候collectionview的有效可视区域才不会错乱。然后在代码中,写屏幕翻转的事件。
2,界面比较复杂时,可以用size class
在size class中选择要适配的方向和屏幕大小,布局,加限制。
换成另一种要适配的方向和屏幕大小,布局,加限制。