配置设备特定的全局实例变量

时间:2014-08-26 12:12:41

标签: ios objective-c xcode idioms ios-universal-app

我目前正在编写一个通用应用,并希望根据设备全局设置某些参数,例如标准按钮大小。目前我正在使用:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    iVar = 88;
}
else {
    iVar = 44;
}
在不同的地方。但是,我只想运行一次,并将ivar设置在全球某个地方。我知道我可以在app委托中执行此操作,一旦应用程序初始化,并在标题中声明变量,但我想知道是否有更优雅的解决方案是标准做法。

(我知道我可以使用xcassets使用原生图像大小,但我想要比这更多的控制)。

1 个答案:

答案 0 :(得分:0)

创建一个类Global.h并在其中声明所有全局变量。只保留头文件并导入YourProject-Prefix.pch中的Global.h文件,如下所示:

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import "Global.h"
#endif

为了定义全局变量,只需打开全局文件并输入以下代码行,即:

#define __metricsTableRowHeight 45
#define __metricsTableSectionHeight 45
#define __metricsTableSectionButtonHeight 57