【发布时间】:2011-09-14 15:03:16
【问题描述】:
我的问题的重点是能够根据使用的设备动态包含/排除代码 我需要一些东西链接
#if (TARGET_IPHONE_SIMULATOR)
或
`#if (TARGET_OS_IPHONE)
但要指定设备是 ipad 还是 iphone
【问题讨论】:
标签: iphone objective-c ipad
我的问题的重点是能够根据使用的设备动态包含/排除代码 我需要一些东西链接
#if (TARGET_IPHONE_SIMULATOR)
或
`#if (TARGET_OS_IPHONE)
但要指定设备是 ipad 还是 iphone
【问题讨论】:
标签: iphone objective-c ipad
我在我的 _prefix.pch 文件中定义了两个宏,以便在我的代码中更容易(并且更易读),所以你可以这样做:
if (iPad)
或
if (iPhone)
代码如下:
#ifndef iPad
#define iPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#endif
#ifndef iPhone
#define iPhone (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad)
#endif
【讨论】:
不是条件编译,而是:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
// iPhone Code
} else {
// iPad Code
}
这只是UIDevice's -userInterfaceIdiom 方法的宏。
【讨论】:
使用UI_USER_INTERFACE_IDIOM()
它返回UIUserInterfaceIdiomPhone 或UIUserInterfaceIdiomPad
【讨论】: