1.取得屏幕对象的方法
screens:静态方法,用来取得所有链接到目前设备上的屏幕对象,其返回值为一个NSArray。
NSArray *screens =[UIScreen screens];
mainScreen:静态方法,用来取得链接到设备上的主屏幕
UIScreen *screen =[UIScreen mainScreen];
2.取得屏幕对象的信息
通过以上两种方法取得所需的屏幕对象后,接下来就可以通过几个属性来取得屏幕的相关信息。
bounds:为CGRect结构的类型,用来表示整个屏幕的大小。您应该会获得一个原点为(0,0)、宽度为320像素、高度为480像素的矩形区域。
applicationFrame:同样为CGRect结构的类型,用来表示应用程序可以显示画面的区域。在状态栏没有隐藏的情况下,您应该可以获得原点为(0,20)、宽度为320像素、高度为460像素的矩形区域。这时因为状态栏的高度占用了20个像素。如果状态栏隐藏起来了,那么这个数值应该与bounds所得到的是一样的。
scale:这是一个只读属性,是一个用来将逻辑坐标转换为设备实际坐标的倍率。默认的逻辑坐标采用point为单位,一个point大小约为1/160英寸。如果设备屏幕具有近似的像素密度,那么一个point会对应到一个pixel,所以scale的值为1.0;否则会大于1.0。以iphone4来说,就是2.0
preferredMode:这是一个只读属性,用来取得偏好显示模式。
availableModes:只读属性,用来表示设备所支持的显示模式。
currentMode:目前使用的显示模式,也就是最高分辨率的情况。
3.设置屏幕亮度
- Brightness:这是结余0到1得一个浮点数,用来设置目前屏幕的明暗度。
- wantsSoftwareDimming:设置是否允许使用软件的方式来讲画面调整得比实际硬件允许的亮度还要暗。
4.调整过度扫描
iPhone已经可以将画面通过外接线的方式播放到电视上了,有可能会发生过度扫描的现象,也就是画面超出屏幕可接受范围外,这时候可以通过以下的属性来进行补偿
overscanCompensation:用来补偿过度扫描的参数。