`
stephen830
  • 浏览: 3016472 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UIScreen学习记录

 
阅读更多

 

UIScreen学习记录

转载自 http://blog.csdn.net/fww330666557/article/details/11918539

UIScreen object contains the bounding rectangle of the device’s entire screen. When setting up your application’s user interface, you should use the properties of this object to get the recommended frame rectangles for your application’s window.

UIScreen对象包含了整个屏幕的边界矩形。当构造应用的用户界面接口时,你应该使用该对象的属性来获得推荐的矩形大小,用以构造你的程序窗口。

以下列出的属性和操作是我用过的。

 
+ mainScreen        Returns the screen object representing the device’s screen.

bounds  property    Contains the bounding rectangle of the screen, measured in points. (read-only)
applicationFrame  property  The frame rectangle for the app window. (read-only)
scale  property   The natural scale factor associated with the screen. (read-only)
CGRect bound = [[UIScreen mainScreen] bounds];  // 返回的是带有状态栏的Rect
CGRect frame = [[UIScreen mainScreen] applicationFrame];  // 返回的是不带有状态栏的Rect
float scale = [[UIScreen mainScreen] scale]; // 得到设备的自然分辨率
 备注:状态栏高度为20
 

 
根据不同设备获取到的参数数据:
 1. iphone 6s plus
//设备类型
    NSString* deviceType = @"iphone 6s plus";
    //显示分辨率
    UIScreen* mainScreen = [UIScreen mainScreen];
    //bounds:只读属性,返回整个屏幕的rect (包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.bounds:%@",deviceType,NSStringFromCGRect(mainScreen.bounds));
    //applicationFrame:只读属性,返回状态栏之下的屏幕的rect (不包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.applicationFrame:%@",deviceType,NSStringFromCGRect(mainScreen.applicationFrame));
    //设备的分辨率:只读属性
    NSLog(@"[%@] mainScreen.scale:%f",deviceType,mainScreen.scale);
    //屏幕亮度:取值范围为0-1.0
    NSLog(@"[%@] mainScreen.brightness:%f",deviceType,mainScreen.brightness);
 输出结果:
[iphone 6s plus] mainScreen.bounds:{{0, 0}, {414, 736}}
 [iphone 6s plus] mainScreen.applicationFrame:{{0, 20}, {414, 716}}
 [iphone 6s plus] mainScreen.scale:3.000000
 [iphone 6s plus] mainScreen.brightness:0.500000
 
 2. iphone 6s
//设备类型
    NSString* deviceType = @"iphone 6s";
    //显示分辨率
    UIScreen* mainScreen = [UIScreen mainScreen];
    //bounds:只读属性,返回整个屏幕的rect (包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.bounds:%@",deviceType,NSStringFromCGRect(mainScreen.bounds));
    //applicationFrame:只读属性,返回状态栏之下的屏幕的rect (不包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.applicationFrame:%@",deviceType,NSStringFromCGRect(mainScreen.applicationFrame));
    //设备的分辨率:只读属性
    NSLog(@"[%@] mainScreen.scale:%f",deviceType,mainScreen.scale);
    //屏幕亮度:取值范围为0-1.0
    NSLog(@"[%@] mainScreen.brightness:%f",deviceType,mainScreen.brightness);
  输出结果:
 [iphone 6s] mainScreen.bounds:{{0, 0}, {375, 667}}
 [iphone 6s] mainScreen.applicationFrame:{{0, 20}, {375, 647}}
 [iphone 6s] mainScreen.scale:2.000000
 [iphone 6s] mainScreen.brightness:0.500000
 
 3. iphone 6 plus
    //设备类型
    NSString* deviceType = @"iphone 6 plus";
    //显示分辨率
    UIScreen* mainScreen = [UIScreen mainScreen];
    //bounds:只读属性,返回整个屏幕的rect (包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.bounds:%@",deviceType,NSStringFromCGRect(mainScreen.bounds));
    //applicationFrame:只读属性,返回状态栏之下的屏幕的rect (不包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.applicationFrame:%@",deviceType,NSStringFromCGRect(mainScreen.applicationFrame));
    //设备的分辨率:只读属性
    NSLog(@"[%@] mainScreen.scale:%f",deviceType,mainScreen.scale);
    //屏幕亮度:取值范围为0-1.0
    NSLog(@"[%@] mainScreen.brightness:%f",deviceType,mainScreen.brightness);
   输出结果:
 [iphone 6 plus] mainScreen.bounds:{{0, 0}, {414, 736}}
 [iphone 6 plus] mainScreen.applicationFrame:{{0, 20}, {414, 716}}
 [iphone 6 plus] mainScreen.scale:3.000000
 [iphone 6 plus] mainScreen.brightness:0.500000
  4. iphone 6
    //设备类型
    NSString* deviceType = @"iphone 6";
    //显示分辨率
    UIScreen* mainScreen = [UIScreen mainScreen];
    //bounds:只读属性,返回整个屏幕的rect (包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.bounds:%@",deviceType,NSStringFromCGRect(mainScreen.bounds));
    //applicationFrame:只读属性,返回状态栏之下的屏幕的rect (不包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.applicationFrame:%@",deviceType,NSStringFromCGRect(mainScreen.applicationFrame));
    //设备的分辨率:只读属性
    NSLog(@"[%@] mainScreen.scale:%f",deviceType,mainScreen.scale);
    //屏幕亮度:取值范围为0-1.0
    NSLog(@"[%@] mainScreen.brightness:%f",deviceType,mainScreen.brightness);
 输出:
 [iphone 6] mainScreen.bounds:{{0, 0}, {375, 667}}
 [iphone 6] mainScreen.applicationFrame:{{0, 20}, {375, 647}}
 [iphone 6] mainScreen.scale:2.000000
 [iphone 6] mainScreen.brightness:0.500000
 
  5. iphone 5s
    //设备类型
    NSString* deviceType = @"iphone 5s";
    //显示分辨率
    UIScreen* mainScreen = [UIScreen mainScreen];
    //bounds:只读属性,返回整个屏幕的rect (包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.bounds:%@",deviceType,NSStringFromCGRect(mainScreen.bounds));
    //applicationFrame:只读属性,返回状态栏之下的屏幕的rect (不包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.applicationFrame:%@",deviceType,NSStringFromCGRect(mainScreen.applicationFrame));
    //设备的分辨率:只读属性
    NSLog(@"[%@] mainScreen.scale:%f",deviceType,mainScreen.scale);
    //屏幕亮度:取值范围为0-1.0
    NSLog(@"[%@] mainScreen.brightness:%f",deviceType,mainScreen.brightness);
   输出:
 [iphone 5s] mainScreen.bounds:{{0, 0}, {320, 568}}
 [iphone 5s] mainScreen.applicationFrame:{{0, 20}, {320, 548}}
 [iphone 5s] mainScreen.scale:2.000000
 [iphone 5s] mainScreen.brightness:0.500000
   6. iphone 5
    //设备类型
    NSString* deviceType = @"iphone 5";
    //显示分辨率
    UIScreen* mainScreen = [UIScreen mainScreen];
    //bounds:只读属性,返回整个屏幕的rect (包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.bounds:%@",deviceType,NSStringFromCGRect(mainScreen.bounds));
    //applicationFrame:只读属性,返回状态栏之下的屏幕的rect (不包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.applicationFrame:%@",deviceType,NSStringFromCGRect(mainScreen.applicationFrame));
    //设备的分辨率:只读属性
    NSLog(@"[%@] mainScreen.scale:%f",deviceType,mainScreen.scale);
    //屏幕亮度:取值范围为0-1.0
    NSLog(@"[%@] mainScreen.brightness:%f",deviceType,mainScreen.brightness);
 输出:
 [iphone 5] mainScreen.bounds:{{0, 0}, {320, 568}}
 [iphone 5] mainScreen.applicationFrame:{{0, 20}, {320, 548}}
 [iphone 5] mainScreen.scale:2.000000
 [iphone 5] mainScreen.brightness:0.500000
    7. iphone 4s
    //设备类型
    NSString* deviceType = @"iphone 4s";
    //显示分辨率
    UIScreen* mainScreen = [UIScreen mainScreen];
    //bounds:只读属性,返回整个屏幕的rect (包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.bounds:%@",deviceType,NSStringFromCGRect(mainScreen.bounds));
    //applicationFrame:只读属性,返回状态栏之下的屏幕的rect (不包含顶部的状态栏)
    NSLog(@"[%@] mainScreen.applicationFrame:%@",deviceType,NSStringFromCGRect(mainScreen.applicationFrame));
    //设备的分辨率:只读属性
    NSLog(@"[%@] mainScreen.scale:%f",deviceType,mainScreen.scale);
    //屏幕亮度:取值范围为0-1.0
    NSLog(@"[%@] mainScreen.brightness:%f",deviceType,mainScreen.brightness);
 输出:
 [iphone 4s] mainScreen.bounds:{{0, 0}, {320, 480}}
 [iphone 4s] mainScreen.applicationFrame:{{0, 20}, {320, 460}}
 [iphone 4s] mainScreen.scale:2.000000
 [iphone 4s] mainScreen.brightness:0.500000
 
 
 
 
 
 

 

  • 大小: 158.8 KB
分享到:
评论

相关推荐

    ios 学习笔记

    本文档基于给定的“iOS学习笔记”,深入探讨iOS应用程序生命周期的关键概念、阶段以及如何处理这些阶段。 #### 二、基础知识 **1.1 入口点:** iOS应用的入口点位于`main.m`文件中的`main`函数。此函数通过调用`...

    仿iOS7的简单计算器(iOS)

    1. **Swift编程语言**:iOS应用开发通常使用Swift,这是一种由Apple开发的现代编程语言,它语法简洁,安全性强,易于学习。计算器应用的各个部分,包括UI界面、事件处理和逻辑计算,都将用Swift编写。 2. **UIKit...

    ios-截图的一个背景效果,非常实用.zip

    在iOS开发中,截图功能是用户交互中常见且重要的部分,尤其当用户想要分享应用内的信息或者记录某个界面状态时。本压缩包“ios-截图的一个背景效果,非常实用.zip”提供了一个创新的截图解决方案,它增加了背景效果...

    iOS 软件开发的MVC以及宏的应用

    1. **常量定义**:定义全局常量,避免硬编码值,如`#define kScreenWidth [UIScreen mainScreen].bounds.size.width` 2. **日志记录**:自定义 NSLog 或其他日志系统,便于调试和信息追踪。 3. **条件编译**:基于...

    iOS抽屉效果Demo

    通过这个“iOS抽屉效果Demo”,开发者可以学习如何在不依赖第三方库的情况下实现抽屉效果,从而更好地掌握iOS应用的自定义界面设计和动画技巧。在实际项目中,如果追求更丰富的功能和更高的性能,可以考虑使用如...

Global site tag (gtag.js) - Google Analytics