我想根据 ipad 或 iphone 定义相同的宏但不同的值。例如,我想为 iphone 定义 THUMB_WIDTH 为 40,但为 ipad 定义为 100。这可能吗?如果可以,怎么办?
问问题
640 次
1 回答
4
是的,这是可能的。首先,您必须了解宏只是在编译时将在您的代码中替换的一些代码。
我认为您想要一个通用应用程序(iPhone/iPad),这意味着您将为两个平台编译和共享相同的代码。所以你不能使用#if 宏来改变这个值。逻辑部分必须在宏中,这样在执行时就知道值,并且会根据您在 iPhone 或 iPad 上执行而改变。
你可以使用类似的东西来做到这一点:
#define THUMB_WIDTH (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) ? 40 : 100
于 2013-01-21T03:11:07.427 回答