46
|
Adam Eberbach Adil Shaikh · 技术社区 · 14 年前 |
![]() |
1
26
我现在回答这个问题(而且在这个晚些时候),因为许多现有的答案都很旧,根据苹果公司当前的文档(iOS 8.1,2015),投票最多的实际上似乎是错误的! 为了证明我的观点,这是来自apples头文件的注释(总是查看apple源文件和头文件):
因此,目前 苹果推荐 检测iPhone和iPad的方法如下: 1)在iOS版本上 先验 至3.2,使用苹果提供的宏:
2)在iOS 3.2或更高版本上,使用[uidevice currentdevice]上的属性:
|
![]() |
2
63
运行时检查(第一种方法)与编译时检查完全不同。预处理器指令不会为您提供通用应用程序。 首选的方法是使用苹果的宏:
使用3.2作为基本的sdk(因为宏在3.2之前没有定义),您可以针对先前的操作系统版本使其在iPhone上运行。 |
![]() |
3
17
我喜欢我的 isPad() 功能。相同的代码,但不要让它出现在视线之外,只能放在一个地方。 |
![]() |
4
15
我的解决方案(适用于3.2+):
然后,
或
|
![]() |
5
1
迅速使用 userInterfaceIdiom 实例属性为-
&对于其他设备-
|
![]() |
6
0
将此方法放入应用程序委托中,这样您就可以使用[[uiapplication sharedaplication]delegate]ispad]在任何地方调用它。
|
![]() |
7
0
如果您使用的是不向后兼容的功能,我发现最好的方法是在预编译的头文件中创建一个定义。例子:
然后在代码中,您可以这样做:
|
![]() |
8
0
如果 1-您的设备中已经安装了应用程序, 2-您将其构建设置更改为“通用”应用程序, 3-将应用程序安装到现有应用程序之上的设备上(不删除前一个应用程序) 您可能会发现这里提供的检测iPhone/iPad的解决方案不起作用。首先,删除ipad/iphone的应用程序,并将其重新安装到您的设备上。 |
![]() |
9
0
|
![]() |
ThomThomPhao · 在另一个视图中访问变量以重置它 2 年前 |
![]() |
bvh · 禁用UISearchBar中的搜索字段 6 年前 |
![]() |
Pradumna Patil · REST API的问题 6 年前 |
![]() |
yakovlevvl · iPad和iPhone的不同UI 7 年前 |
|
Swathi · 我想用JSON数据生成tableview表单[关闭] 7 年前 |
![]() |
Zander · 带伸缩高度的iPad 7 年前 |