UIDevice的简易说明

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); // 接近状态变化通知

时间: 2024-10-12 14:43:18

UIDevice的简易说明的相关文章

Android 开发第七弹:简易时钟(秒表)

本文承接,Android 开发第五弹:简易时钟(闹钟) 和 Android 开发第六弹:简易时钟(计时器),这一部分是关于秒表的. 布局 同样是新建一个类(StopWatchView)并扩展自LinearLayout,并将其用作布局. <myapplication.nomasp.com.clock.StopWatchView android : id = "@+id/tabStopWatch" android : layout_width = "match_parent

最简易无加密方式下的ppp拨号连接

PPP拨号连接建立虚拟网卡,并可以进行路由设置.几乎所有其他的连接服务都建立在其之上,PPPoE,PPTP,L2TP等等. 而其中一个最基本的话题可能被忽略了,PPP是如何工作的,如何使用PPP建立最简易的连接. PPP协议实际上非常简单,握手信号之后即进行数据交换,由于原来的PPP连接的使用都是基于电话MODEM的点对点通信,不考虑过于复杂的加密并保证传输效率,所以PPP的缺省设置是基于tty设备的,如果使用串口就是ttyS0-ttyS? 当然,使用pppd应用于附加服务并不必须使用tty设备

求问自制简易Android地图大概思路

============问题描述============ 我想做一个简易的Android地图,不使用Google的API.让它可以实现移动,缩放,旋转,标记的功能.我现在知道的大体思路是把整张地图图片切割成若干小块,然后让这些小块共同移动,旋转.但是不知道这个思路对不对,还有使用什么Android控件和方法实现,请各位大神指点,谢谢!! ============解决方案1============ 引用 2 楼 despotdragon 的回复: Quote: 引用 1 楼 ITbailei 的回

简易状态机

SimpleFSM 包含状态切换以及事件驱动传递参数 下面的代码是登录的状态码 1 using System; 2 using UnityEngine; 3 using System.Collections; 4 5 public class LoginState : SingletonPrivider<LoginState>, GameState 6 { 7 private delegate void LoginEventHandler(object sender, LoginEventAr

在.NET里简易实现IoC

在.NET里简易实现IoC 前言 在前面的篇幅中对依赖倒置原则和IoC框架的使用只是做了个简单的介绍,并没有很详细的去演示,可能有的朋友还是区分不了依赖倒置.依赖注入.控制反转这几个名词,或许知道的也只是知道依赖倒置是原则,依赖注入.控制反转都是实现的方式,我将在下面对这些个名词做详细的介绍,在篇幅的最后还会自己实现了IoC容器的功能. 依赖倒置原则 我们先来看一段代码,代码1-1 public class Top { public void Execution() { Underly unde

老八系统简易调用AJAX

<script src="js/jquery-1.7.2.min.js"></script> <script> $(function(){ $("#txtaccount").blur(function(){ $.post("check.asp", { name:$(this).val(), type:"tjnickname" }, function(data,status){ if(data

简易2D横版RPG游戏制作

Unity学习笔记1 简易2D横版RPG游戏制作 http://m.blog.csdn.net/article/details?id=24601905

简易版DES加密和解密详解

在DES密码里,是如何进行加密和解密的呢?这里采用DES的简易版来进行说明. 二进制数据的变换 由于不仅仅是DES密码,在其它的现代密码中也应用了二进制数据,所以无论是文章还是数字,都需要将明文变换为二进制数据,如图表所示,这里仅将使用的16字符(其中含有1个没有意义的空字符),将每个字符都对应不同的4bit的二进制编码进行变换,将明文表示成"0"和"1"的系列 表2.8 表2.9 本文部分参考自漫画密码,此文博主花了几个小时的时间整理,转载请注明http://ww

利用ajax短轮询+php与服务器交互制作简易即时聊天网站

主流的Web端即时通讯方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Server-sent Events). 本文主要介绍ajax短轮询的简易实现方式. 看懂此文需要:ajax基础,php基础,sql基础,html/jquery基础 ---------------------------- 本人也是web新手,今天听说女票在学websocket,还做了个简易的网站利用广播和我通信.但是刷新一下数据就没了.. 我觉得这个还是挺有意思的,,就想着能不能做一个刷新