添加两个文件 UIViewExt.h与UIViewExt.m文件
在ViewController.h文件中导入头文件
#import"UIViewExt.h"
然后宏定义 获取设备的高与宽
#define HEIGHT self.view.height
#define WIDTH self.view.width
然后在ViewController.m文件中初始化各种控件时就可以使用视图的相对位置
如
self.lblName=[[UILabelalloc]initWithFrame:CGRectMake(self.view.left+50,self.view.top+100,WIDTH/8,HEIGHT/16)]
self.lblPassworw=[[UILabelalloc]initWithFrame:CGRectMake(self.view.left+50,self.lblName.bottom+10,WIDTH/8,HEIGHT/16)]
第二种
首先在AppDelegate.h文件里面
宏定义 获取设备的高与宽
#define SCREENHEIGHT [[UIScreen mainScreen] bounds].size.height
#define SCREENWIDTH [[UIScreen mainScreen] bounds].size.width
接着声明两个属性变量
@property(assign,nonatomic)floatautoSizeScaleX
@property(assign,nonatomic)floatautoSizeScaleY
在AppDelegate.m文件里面
//初始化AppDelegate单例的方法
AppDelegate*myDelegate=[[UIApplicationsharedApplication]delegate]
//判断屏幕的高大于480即为iPhone5或以上设备因为它们屏幕都是等比增长的
if(SCREENHEIGHT>480)
{
/**
*以iPhone5为基准若是iPhone5
则myDelegate.autoSizeScaleX=SCREENWIDTH/320
即为myDelegate.autoSizeScaleX=320/320
若是iPhone6
则myDelegate.autoSizeScaleX=SCREENWIDTH/320
即为myDelegate.autoSizeScaleX=375/320
*/
myDelegate.autoSizeScaleX=SCREENWIDTH/320
myDelegate.autoSizeScaleY=SCREENHEIGHT/568
}
else{
/**
*否则即为iPhone4
*/
myDelegate.autoSizeScaleX=1.0
myDelegate.autoSizeScaleY=1.0
}
在ViewController.h文件中使用时导入头文件
#import"AppDelegate.h"
模仿系统的CGRectMake方法 重写一个CGRectMake1方法 在初始化控件时用这个方法就可以实现等比缩放 来失陪不同屏幕尺寸的iPhone
/**
* CG_INLINE为内联函数
将CGRectMake重新定义为CGRectMake1
*
* @param x <#x description#>
* @param y <#y description#>
* @param width <#width description#>
* @param height <#height description#>
*
* @return rect的大小
*/
CG_INLINECGRect
CGRectMake1(CGFloatx,CGFloaty,CGFloatwidth,CGFloatheight)
{
CGRectrect
AppDelegate*myDelegate=[[UIApplicationsharedApplication]delegate]
rect.origin.x= x * myDelegate.autoSizeScaleX
rect.origin.y= y * myDelegate.autoSizeScaleY
rect.size.width= width * myDelegate.autoSizeScaleX
rect.size.height= height * myDelegate.autoSizeScaleY
returnrect
}
你直接新建一个object-c文件就OK,父类选择UIViewController,新建好之后,在你新加的View的Files owner的属性里面选择属性页面,然后将view的控制类选择为新建的Controller类文件就OK欢迎分享,转载请注明来源:内存溢出
评论列表(0条)