页面的创建
在工作中遇到了适配iPad和iPhone双端的项目和横屏投屏的项目,在维护的过程中学到了很多之前没有接触到的东西,拿出来记录和分享下。
主要是使用xib和storyboard。
一、 各自创建iPhone和iPad的xib文件(大型项目,双端页面布局差异大)
项目使用的xib分别创建了iPhone和iPad的,比如HomeController~iphone.xib,HomeController~ipad.xib,当初始化时对应的设备就会找到自己的文件。

HomeViewController *homeVc = [[HomeViewController alloc] init];
self.window.rootViewController = homeVc;
[self.window makeKeyAndVisible];


当然这种方式的优缺点一目了然。
优点:iPhone和iPad页面布局比较灵活,不互相影响。后期维护方便。
缺点:多创建了一个xib文件,控件也需要再次创建(其实复制粘贴就可以)。
二、 创建一个xib或着storyboard中创建一个控制器(小项目,双端页面布局差异不大)
这种方式就是iPhone和iPad共用一个xib或storyboard控制器,这种方式就需要用到Vary for Traits。 在一个View中通过对不同设备,横竖屏做控件的显示隐藏,布局等。

优点:只需要一个xib文件就可以适配两端,不需要重复创建控件,节约空间。
缺点:页面复杂时使用Vary for Traits 容易乱,要时刻注意当前修改的是哪些设备。对于可能只存在一种设备上的控件要注意显示和隐藏,不要影响其他设备。
网友评论