博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIDevice的简易说明
阅读量:5138 次
发布时间:2019-06-13

本文共 4101 字,大约阅读时间需要 13 分钟。

typedef NS_ENUM(NSInteger, UIDeviceOrientation) //设备方向

{

    UIDeviceOrientationUnknown,

    UIDeviceOrientationPortrait,                   // 竖向,头向上

    UIDeviceOrientationPortraitUpsideDown,  // 竖向,头向下

    UIDeviceOrientationLandscapeLeft,         // 横向,头向左

    UIDeviceOrientationLandscapeRight,       // 横向,头向右

    UIDeviceOrientationFaceUp,                   // 平放,屏幕朝下

    UIDeviceOrientationFaceDown                // 平放,屏幕朝下

};

 

typedef NS_ENUM(NSInteger, UIDeviceBatteryState) //电池状态

{

    UIDeviceBatteryStateUnknown,

    UIDeviceBatteryStateUnplugged,   // 未充电

    UIDeviceBatteryStateCharging,     // 正在充电

    UIDeviceBatteryStateFull,             // 满电

}; 

 

typedef NS_ENUM(NSInteger, UIUserInterfaceIdiom) //用户界面类型

{

//iOS3.2以上有效

#if __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED

    UIUserInterfaceIdiomPhone,           // iPhone 和 iPod touch 风格

    UIUserInterfaceIdiomPad,              // iPad 风格

#endif

};

 

#define UI_USER_INTERFACE_IDIOM() ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? [[UIDevice currentDevice] userInterfaceIdiom] : UIUserInterfaceIdiomPhone)

 

#define UIDeviceOrientationIsPortrait(orientation)  ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown)

#define UIDeviceOrientationIsLandscape(orientation) ((orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight)

 

NS_CLASS_AVAILABLE_IOS(2_0) @interface UIDevice : NSObject {

 @private

    NSInteger _numDeviceOrientationObservers;

    float     _batteryLevel;

    struct {

unsigned int batteryMonitoringEnabled:1;

unsigned int proximityMonitoringEnabled:1;

unsigned int expectsFaceContactInLandscape:1;

        unsigned int orientation:3;

        unsigned int batteryState:2;

        unsigned int proximityState:1;

    } _deviceFlags;

}

 

+ (UIDevice *)currentDevice; // 获取当前设备

 

@property(nonatomic,readonly,retain) NSString    *name;                // e.g. "My iPhone"

@property(nonatomic,readonly,retain) NSString    *model;               // e.g. @"iPhone", @"iPod touch"

@property(nonatomic,readonly,retain) NSString    *localizedModel;    // localized version of model

@property(nonatomic,readonly,retain) NSString    *systemName;      // e.g. @"iOS"

@property(nonatomic,readonly,retain) NSString    *systemVersion;    // e.g. @"4.0"

@property(nonatomic,readonly) UIDeviceOrientation orientation;       // 除非正在生成设备方向的通知,否则返回UIDeviceOrientationUnknown 。

 

@property(nonatomic,readonly,retain) NSUUID      *identifierForVendor NS_AVAILABLE_IOS(6_0);      // 可用于唯一标识该设备,同一供应商不同应用具有相同的UUID 。

 

@property(nonatomic,readonly,getter=isGeneratingDeviceOrientationNotifications) BOOL generatesDeviceOrientationNotifications; //是否生成设备转向通知

- (void)beginGeneratingDeviceOrientationNotifications; 

- (void)endGeneratingDeviceOrientationNotifications;

 

@property(nonatomic,getter=isBatteryMonitoringEnabled) BOOL batteryMonitoringEnabled NS_AVAILABLE_IOS(3_0);  // 是否启动电池监控,默认为NO

@property(nonatomic,readonly) UIDeviceBatteryState batteryState NS_AVAILABLE_IOS(3_0);  // 如果禁用电池监控,则电池状态为UIDeviceBatteryStateUnknown

@property(nonatomic,readonly) float batteryLevel NS_AVAILABLE_IOS(3_0);  //电量百分比, 0 .. 1.0。如果电池状态为UIDeviceBatteryStateUnknown,则百分比为-1.0

 

@property(nonatomic,getter=isProximityMonitoringEnabled) BOOL proximityMonitoringEnabled NS_AVAILABLE_IOS(3_0); // 是否启动接近监控(例如接电话时脸靠近屏幕),默认为NO

@property(nonatomic,readonly)  BOOL proximityState NS_AVAILABLE_IOS(3_0);  // 如果设备不具备接近感应器,则总是返回NO

 

@property(nonatomic,readonly,getter=isMultitaskingSupported) BOOL multitaskingSupported NS_AVAILABLE_IOS(4_0); // 是否支持多任务

 

@property(nonatomic,readonly) UIUserInterfaceIdiom userInterfaceIdiom NS_AVAILABLE_IOS(3_2); // 当前用户界面模式

 

- (void)playInputClick NS_AVAILABLE_IOS(4_2);  // 播放一个输入的声音

@end

 

@protocol UIInputViewAudioFeedback

@optional

@property (nonatomic, readonly) BOOL enableInputClicksWhenVisible; // 实现该方法,返回YES则自定义的视图能够播放输入的声音

@end

 

UIKIT_EXTERN NSString *const UIDeviceOrientationDidChangeNotification; // 屏幕方向变化通知

UIKIT_EXTERN NSString *const UIDeviceBatteryStateDidChangeNotification   NS_AVAILABLE_IOS(3_0); // 电池状态变化通知

UIKIT_EXTERN NSString *const UIDeviceBatteryLevelDidChangeNotification   NS_AVAILABLE_IOS(3_0); // 电池电量变化通知

UIKIT_EXTERN NSString *const UIDeviceProximityStateDidChangeNotification NS_AVAILABLE_IOS(3_0); // 接近状态变化通知

转载于:https://www.cnblogs.com/IosLearnNote/p/4552420.html

你可能感兴趣的文章
侧边栏广告和回到顶部
查看>>
https://blog.csdn.net/u012106306/article/details/80760744
查看>>
【转】从头到尾彻底理解KMP
查看>>
ios应用版本号设置规则
查看>>
海上孤独的帆
查看>>
error: more than one device and emulator 问题解决
查看>>
Java基础:容器
查看>>
YUV摘要格式
查看>>
【方法2】删除Map中Value反复的记录,而且仅仅保留Key最小的那条记录
查看>>
C# CheckedListBox控件的使用方法
查看>>
【HDOJ】2007平方和与立方和
查看>>
SAP Netweaver Gateway Add-on for Backend System Installation
查看>>
[转载] cassandra Unable to complete request: one or more nodes were unavailable
查看>>
Framework7 无限滚动
查看>>
IoT设备WiFi配网及现状
查看>>
第一次冲刺-站立会议06
查看>>
java之Random类
查看>>
23种设计模式 视频教程
查看>>
ST公司三轴加速度计LIS3DH应用
查看>>
Dell V5460 安装Winxp成功总结
查看>>