说明
因为公司项目负责,所以这个代码将用Demo的形式建立,然后引入到项目中.然后对项目的调用进行重构.
创建项目文件
文件清单:
- 产品父类
GUILayout
包含各种属性 - iPhone4s/4 布局类
GUIIP4SLayout
继承GUILayout
- iPhone5s/5 布局类
GUIIP5Layout
继承GUILayout
- iPhone6 布局类
GUIIP6Layout
继承GUILayout
- iPhone6 plus 布局类
GUIIP6PLayout
继承GUILayout
- 工厂类
GUILayoutFactory
代码详解
首先是 GUILayout
,它定义了所有需要的属性.
1 | #import <UIKit/UIKit.h> |
它的布局子类,在 init
方法中,对布局属性进行了初始化,因为代码几乎一样,所以拿一个类说明:(为了以后区分,我给不同的布局类不同的值:
4/4s 值都是 4 ,5/5s 值都是5 ,6 值都是6 ,6 plus值都是 60)
1 | #import "GUILayout.h" |
然后是工厂类:
1 | #import <Foundation/Foundation.h> |
- 将判断逻辑下放到工厂类中,简化了控制器的调用
- 定义根据屏幕尺寸判断设备类型的宏
- 根据枚举类型决定返回的
layout
类型
结语
好了,这就是完整的代码了.根据自己的需求,修改参数名,可以方便的用到自己的系统中.