iOS-UIDevice


继承:NSObject

Framework:在UIkit iOS2.0 和之后


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

       你也可以使用UIDevice实例检测设备变化的特点,例如物理方向。你要获得当前方向的属性或接收改变通知需要注册UIDeviceOrientationDidChangeNotification通知。在你使用这些技术来获取方向数据,你必须用数据交付使用beginGeneratingDeviceOrientationNotifications 方法。当你不在需要跟踪设备方向,你得调用endGeneratingDeviceOrientationNotifications方法来禁用交付通知。

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

       在iOS 4.2开始,你可以使用playInputClick实例方法键盘输入点击自定义和键盘辅助视图。


获得共享设备实例

//返回一个对象代表当前的设备 可用于iOS 2.0之后
+ (UIDevice *)currentDevice;

确定可用的特性

//一个布尔值表示对当前设备是否支持多任务。(只读) 可用于iOS 4.0之后
@property(nonatomic, readonly, getter=isMultitaskingSupported) BOOL multitaskingSupported;

识别设备和操作系统

//识别设备的名称。(只读) 可用于iOS 2.0之后
@property(nonatomic, readonly, strong) NSString *name;

//操作系统上运行设备的名称所代表的接收器。(只读) 可用于iOS 2.0之后
@property(nonatomic, readonly, strong) NSString *systemName;

//当前版本的操作系统。(只读) 可用于iOS 2.0之后
@property(nonatomic, readonly, strong) NSString *systemVersion;

//设备的模型。(只读) 可用于iOS 2.0之后
@property(nonatomic, readonly, strong) NSString *model;

//设备的模型作为一个本地化的字符串。(只读) 可用于iOS 2.0之后
@property(nonatomic, readonly, strong) NSString *localizedModel;

//使用当前设备使用界面风格。(只读) 可用于iOS 3.2之后
@property(nonatomic, readonly) UIUserInterfaceIdiom userInterfaceIdiom;

//一个字母数字字符串,惟一地标识一个设备应用的供应商。(只读) 可用于iOS 6.0之后
@property(nonatomic, readonly, strong) NSUUID *identifierForVendor;


获取设备方向

//返回设备的物理方向。(只读) 可用于iOS 2.0之后
@property(nonatomic, readonly) UIDeviceOrientation orientation;

//一个布尔值来指示接收机产生方向通知(YES)或(NO)。(只读) 可用于iOS 2.0之后
@property(nonatomic, readonly, getter=isGeneratingDeviceOrientationNotifications) BOOL generatesDeviceOrientationNotifications;

//开始面向设备的方向通知更改。可用于iOS 2.0之后
- (void)beginGeneratingDeviceOrientationNotifications;

//结束面向设备的方向通知更改。可用于iOS 2.0之后
- (void)endGeneratingDeviceOrientationNotifications;

获取设备的电池状态

//电池充电设备水平(0-1.0)。(只读) 可用于iOS 3.0之后
@property(nonatomic, readonly) float batteryLevel;

//一个布尔值指示是否启用电池监控(YES)或(NO)。 可用于iOS 3.0之后
@property(nonatomic, getter=isBatteryMonitoringEnabled) BOOL batteryMonitoringEnabled;

//电池状态的设备。(只读) 可用于iOS 3.0之后
@property(nonatomic, readonly) UIDeviceBatteryState batteryState;

使用近距离传感器

//一个布尔值表示是否启用了近距离监视(YES)或(NO)。可用于iOS 3.0之后
@property(nonatomic, getter=isProximityMonitoringEnabled) BOOL proximityMonitoringEnabled;

//一个布尔值,指示距离感应器是否接近用户(YES)或(NO)。(只读) 可用于iOS 3.0之后
@property(nonatomic, readonly) BOOL proximityState;

输入点击

//一个输入点击启用一个输入视图中单击。 可用于iOS 4.2之后
- (void)playInputClick;

常量

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

typedef enum {
    //设备的电池状态不能确定。 可用于iOS 3.0之后
    UIDeviceBatteryStateUnknown,
    
    //设备不是插入电源,电池放电。 可用于iOS 3.0之后
    UIDeviceBatteryStateUnplugged,
    
    //设备插入电源和电池充电不到100%。 可用于iOS 3.0之后
    UIDeviceBatteryStateCharging,
    
    //设备插入电源和电池充电100%。 可用于iOS 3.0之后
    UIDeviceBatteryStateFull,
} UIDeviceBatteryState;


2、UIDeviceOrientation 物理设备方向


typedef enum {
    //设备的方向不能确定。 可用于iOS 2.0之后
    UIDeviceOrientationUnknown,
    
    //设备正直底部。 可用于iOS 2.0之后
    UIDeviceOrientationPortrait,
    
    //设备正直顶部的主页按钮。可用于iOS 2.0之后
    UIDeviceOrientationPortraitUpsideDown,
    
    //正直和按钮向右边转方向。 可用于iOS 2.0之后
    UIDeviceOrientationLandscapeLeft,
    
    //正直和按钮向左边转方向。 可用于iOS 2.0之后
    UIDeviceOrientationLandscapeRight,
    
    //设备与地面平行向上面临的屏幕。可用于iOS 2.0之后
    UIDeviceOrientationFaceUp,
    
    //设备与地面平行向下面临的屏幕。可用于iOS 2.0之后
    UIDeviceOrientationFaceDown
} UIDeviceOrientation;

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

typedef enum {
    //用户界面没有专为而设计
    UIUserInterfaceIdiomUnspecified = -1
    
    //用户界面应该专为iPhone和iPod touch设计的。可用于iOS 3.2之后
    UIUserInterfaceIdiomPhone,
    
    //用户界面应该为iPad设计的。可用于iOS 3.2之后
    UIUserInterfaceIdiomPad,
    
    //用户界面应该设计为苹果电视。可用于iOS 9.0之后
    UIUserInterfaceIdiomTV,
    
    //用户界面应该为车内体验而设计的。
    UIUserInterfaceIdiomCarPlay,
} UIUserInterfaceIdiom;

通知

1、UIDeviceBatteryLevelDidChangeNotification   电池改变通知 iOS 3.0之后

2、UIDeviceOrientationDidChangeNotification 设备方向改变通知 iOS 2.0之后

3、UIDeviceProximityStateDidChangeNotification  传感器状态发生改变通知 iOS 3.0之后



 

你可能感兴趣的:(iOS)