IOS 特定于设备的开发:UIDevice
UIDevice类展示了一些关键的特定于设备的属性,包括使用的iPhone ,Ipad或iPod Touch型号、设备名称、以及OS名称和版本。
他是一种一站式解决方案,用于提取出某些系统详细信息。每个方法都是一个实例方法,他们是使用UIDevice单例通过[UIDevice currentDevice]调用的。
可以通过UIDevice获取的系统信息包括下面的这些项。
1.systemName:它用于返回当前使用的操作系统的名称。对于目前这一代IOS设备,在平台上只运行一种OS:iPhone OS.
2.systemVersion:这个值将列出单元上目前安装的固定版本。
3.model:iPhone 型号返回一个描述其平台的字符串,既iPhone、iPad和iPod Touch.如果将IOS扩展到新设备上,将使用额外的字符串描述这些型号。localizedModel提供了该属性的本地化版本。
4.userInterfaceIdiom:这个属性表示当前设备上使用的界面风格,既iPhone或iPad.当Apple提供另外的平台风格时,可能会引入其他的用语。
5.name:这个字符串由用户指定的iPhone名称,这个名称也用于创建设备的本地主机名。
UIDevice *device = [UIDevice currentDevice];
NSLog(@"systemName :%@",device.systemName);
NSLog(@"systemVersion :%@",device.systemVersion);
NSLog(@"model :%@",device.model);
NSLog(@"localizedModel:%@",device.localizedModel);
NSLog(@"userInterfaceIdiom:%d",device.userInterfaceIdiom);
NSLog(@"name:%@",device.name);
其输出值
-- ::00.301 UIDeviceTest[:] systemName :iPhone OS
-- ::00.303 UIDeviceTest[:] systemVersion :8.1.
-- ::00.304 UIDeviceTest[:] model :iPhone
-- ::00.304 UIDeviceTest[:] localizedModel:iPhone
-- ::00.304 UIDeviceTest[:] userInterfaceIdiom:
-- ::00.409 UIDeviceTest[:] name:“tato”的 iPhone
对于当前的IOS版本,可以利用一个简单的布尔测试进行风格检查。下面示例如何实现iPad检查。它用于测试选择器一致性,如果可能,将会返回[UIDevice currentDevice].userInterfaceIdiom,否则,返回UIUserInterfaceIdiomPhone.
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
IOS 特定于设备的开发:UIDevice的更多相关文章
- IOS 特定于设备的开发:处理基本方向
UIDevice类使用内置的orientation属性获取设备的物理方向.IOS设备支持这个属性的7个可能的值. >UIDeviceOrientationUnknown:方向目前未知. > ...
- IOS 特定于设备的开发:Info.plist属性列表的设置
应用程序的Info.plist属性列表使你能够在向iTunes提交应用程序时指定应用程序的要求.这些限制允许告诉iTunes应用程序需要哪些设备特性. 每个IOS单元都会提供一个独特的特性集.一些设备 ...
- IOS 特定于设备的开发:Core Motion基础
Core Motion框架集中了运动数据处理.该框架是在IOS 4 SDK中引入的,用于取代accelerometer加速计访问.它提供了对3个关键的机载传感器的集中式监测.这些传感器有陀螺仪.磁力计 ...
- IOS 特定于设备的开发:检查设备接近度和电池状态
UIDevice类提供了一些API,使你能够跟踪设备的特征,包括电池的状态和接近度传感器.他们二者都以通知的形式提供更新,可以订阅他们,以便在有重要的更新时通知你的应用程序. 1>启动和禁用接近 ...
- IOS 特定于设备的开发:获取和使用设备姿势(通过手机方向控制3d物体显示)
利用设备的机载陀螺仪可以实现,当你旋转手机屏幕时,里面的画面不会随着视图更新而移动,以平衡物理运动. 下面例子利用少量简单的几何变换执行该操作.他建立一个运动管理器,订阅设备运动更新,然后基于运动管理 ...
- IOS 特定于设备的开发:基于加速计的滚动视图
倾斜滚轮使用设备的内置加速计来控制在UIScrollView的内容周围移动.当用户调增设备时,材料会相应的下落,他不会把视图定位在屏幕上,而是把内容视图滚动到一个新的偏移位置. 创建这个界面的挑战在于 ...
- IOS 特定于设备的开发:获取额外的设备信息
sysctl()和sysctlbyname()允许获取系统信息.这些标准的UNIX函数用于询问操作系统有关硬件和OS的详细信息. 这些常量使你能够检查核心信息,比如系统的CPU频率,可用的内存量等.它 ...
- IOS 特定于设备的开发:监测Retina支持
近年来,Apple在其旗舰设备上引入了Retina显示屏.根据Apple的说法,他的像素密度非常高,足以使人眼无法区分单独的像素. UIScreen类提供了一种容易的方式,用于监查当前设备是否提供了内 ...
- IOS 特定于设备的开发:使用加速器启动屏幕上的对象
借助一点编程工作,iPhone的机载加速计就可以使对象在屏幕上四处“移动”,实时响应用户倾斜手机的方式.下面的代码就是创建一个动画式的蝴蝶,用户可以使之快速移过屏幕. 使之工作的秘密在于:向程序中添加 ...
随机推荐
- ListView分割线
在开发中遇到需要ListView 中每一个条目后面都有个分隔线,但是总是发现最后一个条目后面没有分隔符,后来查到原因,是因为ListView的layout_height=“wrap_content” ...
- Tomcat的JVM内存大小如何设置?【转】
[转]:专家答疑 Tomcat的JVM内存大小如何设置? 本文和大家重点讨论一下如何设置Tomcat的JVM内存大小,JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存 ...
- IOS7 position:fixed 定位问题
在IOS7下position:fixed定位会出一些bug. 输入框 focus 状态下 fixed会随之改变.参见该页面详细描述(http://www.cnblogs.com/zhangdaipin ...
- iOS开发蓝牙 蓝牙4.0的各种踩过的坑,希望你们少踩点
1.首先建立这个三个参数 @property (nonatomic,strong)CBCentralManager * manager; @property (nonatomic,strong)CBP ...
- Windows窗体Winform----show()与showDialog()的区别
show()与showDialog()的区别 最常见的显示一个新的窗体的方法有两种,下面直接上代码!! A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog( ...
- C++输出中文字符(转)
C++输出中文字符 1. cout 场景1: 在源文件中定义 const char* str = "中文" 在 VC++ 编译器上,由于Windows环境用 GBK编码,所以字符串 ...
- HOJ1087
Self Numbers My Tags (Edit) Source : ACM ICPC Mid-Central USA 1998 Time limit : 5 sec Memory ...
- IO库 8.5
题目:重写8.4中的函数,将每一个单词作为一个独立的元素进行存储. #include <iostream> #include <fstream> #include <st ...
- 请求http服务
①服务方法 [HttpGet]//get服务 public JsonResult GetUserName(int id) { try { IXiao_UserBLL bll = new Xiao_Us ...
- jquery取对象数组元素的错误方式
代码如下: <div id="div1"> <span>a</span> <span>b</span> <span ...