iOS UIDevice 的基本数据

UIDevice [设备]

继承:NSObject



       UIDevice 类提供了一个单例实例代表当前的设备。从这个单例中可以获取设备名称、设备模型和操作系统名称和版本等设备信息。

       [UIDevice currentDevice]


       你也可以使用UIDevice实例检测设备变化的特点,例如设备方向。

你要获得当前方向的属性或接收改变通知需要注册 UIDeviceOrientationDidChangeNotification 通知。

在你需要使用这些通知来获取方向数据时,必须使用 beginGeneratingDeviceOrientationNotifications 方法。

当你不再需要跟踪设备方向时,你得调用 endGeneratingDeviceOrientationNotifications 方法。

       类似地,你可以使用UIDevice实例获取关于电池状态更改(batteryState属性所描述)和电量(batteryLevel 属性所描述)的信息和通知。UIDevice实例还提供了访问距离传感器状态(proximityState 属性所描述)。距离传感器检测用户是否持有设备靠近自己的脸。只有当你实现它的时候,才能实现 电池监视或接近报警。

       你还可以使用 playInputClick 实例方法获取键盘输入点击和自定义键盘辅助视图。


获得共享设备实例

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //返回一个对象代表当前的设备 可用于iOS 2.0之后  
  2. + (UIDevice *)currentDevice;  

确定可用的特性

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //一个布尔值表示对当前设备是否支持多任务。(只读) 可用于iOS 4.0之后  
  2. @property(nonatomicreadonlygetter=isMultitaskingSupported) BOOL multitaskingSupported;  

识别设备和操作系统

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //识别设备的名称。(只读) 可用于iOS 2.0之后  
  2. @property(nonatomicreadonlystrongNSString *name;  
  3.   
  4. //操作系统上运行设备的名称所代表的接收器。(只读) 可用于iOS 2.0之后  
  5. @property(nonatomicreadonlystrongNSString *systemName;  
  6.   
  7. //当前版本的操作系统。(只读) 可用于iOS 2.0之后  
  8. @property(nonatomicreadonlystrongNSString *systemVersion;  
  9.   
  10. //设备的模型。(只读) 可用于iOS 2.0之后  
  11. @property(nonatomicreadonlystrongNSString *model;  
  12.   
  13. //设备的模型作为一个本地化的字符串。(只读) 可用于iOS 2.0之后  
  14. @property(nonatomicreadonlystrongNSString *localizedModel;  
  15.   
  16. //使用当前设备使用界面风格。(只读) 可用于iOS 3.2之后  
  17. @property(nonatomicreadonly) UIUserInterfaceIdiom userInterfaceIdiom;  
  18.   
  19. //一个字母数字字符串,惟一地标识一个设备应用的供应商。(只读) 可用于iOS 6.0之后  
  20. @property(nonatomicreadonlystrongNSUUID *identifierForVendor;  


获取设备方向

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //返回设备的物理方向。(只读) 可用于iOS 2.0之后  
  2. @property(nonatomicreadonly) UIDeviceOrientation orientation;  
  3.   
  4. //一个布尔值来指示接收机产生方向通知(YES)或(NO)。(只读) 可用于iOS 2.0之后  
  5. @property(nonatomicreadonlygetter=isGeneratingDeviceOrientationNotifications) BOOL generatesDeviceOrientationNotifications;  
  6.   
  7. //开始面向设备的方向通知更改。可用于iOS 2.0之后  
  8. - (void)beginGeneratingDeviceOrientationNotifications;  
  9.   
  10. //结束面向设备的方向通知更改。可用于iOS 2.0之后  
  11. - (void)endGeneratingDeviceOrientationNotifications;  

获取设备的电池状态

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //电池充电设备水平(0-1.0)。(只读) 可用于iOS 3.0之后  
  2. @property(nonatomicreadonlyfloat batteryLevel;  
  3.   
  4. //一个布尔值指示是否启用电池监控(YES)或(NO)。 可用于iOS 3.0之后  
  5. @property(nonatomicgetter=isBatteryMonitoringEnabled) BOOL batteryMonitoringEnabled;  
  6.   
  7. //电池状态的设备。(只读) 可用于iOS 3.0之后  
  8. @property(nonatomicreadonly) UIDeviceBatteryState batteryState;  

使用近距离传感器

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //一个布尔值表示是否启用了近距离监视(YES)或(NO)。可用于iOS 3.0之后  
  2. @property(nonatomicgetter=isProximityMonitoringEnabled) BOOL proximityMonitoringEnabled;  
  3.   
  4. //一个布尔值,指示距离感应器是否接近用户(YES)或(NO)。(只读) 可用于iOS 3.0之后  
  5. @property(nonatomicreadonlyBOOL proximityState;  

输入点击

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. //一个输入点击启用一个输入视图中单击。 可用于iOS 4.2之后  
  2. - (void)playInputClick;  

常量

1、UIDeviceBatteryState电池供电的设备状态。

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. typedef enum {  
  2.     //设备的电池状态不能确定。 可用于iOS 3.0之后  
  3.     UIDeviceBatteryStateUnknown,  
  4.       
  5.     //设备不是插入电源,电池放电。 可用于iOS 3.0之后  
  6.     UIDeviceBatteryStateUnplugged,  
  7.       
  8.     //设备插入电源和电池充电不到100%。 可用于iOS 3.0之后  
  9.     UIDeviceBatteryStateCharging,  
  10.       
  11.     //设备插入电源和电池充电100%。 可用于iOS 3.0之后  
  12.     UIDeviceBatteryStateFull,  
  13. } UIDeviceBatteryState;  


2、UIDeviceOrientation 物理设备方向


[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. typedef enum {  
  2.     //设备的方向不能确定。 可用于iOS 2.0之后  
  3.     UIDeviceOrientationUnknown,  
  4.       
  5.     //设备正直底部。 可用于iOS 2.0之后  
  6.     UIDeviceOrientationPortrait,  
  7.       
  8.     //设备正直顶部的主页按钮。可用于iOS 2.0之后  
  9.     UIDeviceOrientationPortraitUpsideDown,  
  10.       
  11.     //正直和按钮向右边转方向。 可用于iOS 2.0之后  
  12.     UIDeviceOrientationLandscapeLeft,  
  13.       
  14.     //正直和按钮向左边转方向。 可用于iOS 2.0之后  
  15.     UIDeviceOrientationLandscapeRight,  
  16.       
  17.     //设备与地面平行向上面临的屏幕。可用于iOS 2.0之后  
  18.     UIDeviceOrientationFaceUp,  
  19.       
  20.     //设备与地面平行向下面临的屏幕。可用于iOS 2.0之后  
  21.     UIDeviceOrientationFaceDown  
  22. } UIDeviceOrientation;  

3、UIUserInterfaceIdiom  应该使用的接口的类型对当前设备

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. typedef enum {  
  2.     //用户界面没有专为而设计  
  3.     UIUserInterfaceIdiomUnspecified = -1  
  4.       
  5.     //用户界面应该专为iPhone和iPod touch设计的。可用于iOS 3.2之后  
  6.     UIUserInterfaceIdiomPhone,  
  7.       
  8.     //用户界面应该为iPad设计的。可用于iOS 3.2之后  
  9.     UIUserInterfaceIdiomPad,  
  10.       
  11.     //用户界面应该设计为苹果电视。可用于iOS 9.0之后  
  12.     UIUserInterfaceIdiomTV,  
  13.       
  14.     //用户界面应该为车内体验而设计的。  
  15.     UIUserInterfaceIdiomCarPlay,  
  16. } UIUserInterfaceIdiom;  

可用通知

1、UIDeviceBatteryLevelDidChangeNotification     电池改变通知 

2、UIDeviceOrientationDidChangeNotification        设备方向改变通知 

3、UIDeviceProximityStateDidChangeNotification  传感器状态发生改变通知




写于 2017-3-2,特此记录,备忘
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值