iOS整个项目使用全局宏或类

1.在控制器中添加一个视图

UIView *myview = [[UIView alloc] init];
   
    myview.frame = CGRectMake(0, 0, SCREEN_WIDTH, 64);
    [self.view addSubview:myview];

可以看到,视图的宽度是整个屏幕的宽度,通常做法是在这个控制器里定义一个宏

#define SCREEN_HEIGHT [[UIScreen mainScreen] bounds].size.height
#define SCREEN_WIDTH  [[UIScreen mainScreen] bounds].size.width

这样是没有什么问题的,但我还想要在另外的视图中使用,你是不是还得定义一次,好麻烦啊

也有人说我定义个头文件类,里面定义宏,在所需视图或控制器中导入头文件不就可以用了吗,但你是不是每次都得导入头文件呢,下面是具体做法

(1)定义一个head file(MyHeadr.h)

(2)head中定义宏

#pragma mark - 屏幕高度尺寸计算
#define SCREEN_HEIGHT [[UIScreen mainScreen] bounds].size.height
#define SCREEN_WIDTH  [[UIScreen mainScreen] bounds].size.width
#define NavBar_HEIGHT 64
#define TabBar_HEIGHT 49
#define StatusBar_HEIGHT 20

(3)在视图中导入head头文件

(4)使用定义的宏

上面这还算不错的方法,至少不用多次定义宏,但你得多次导入head头文件,那么有没有不需要多次导入头文件的方法呢,下面我来介绍

首先上面方法的前3步你得完成

(1)(2)(3)

(4)创建一个PCH File(My.Pch),在其中导入MyHeadr.h头文件

(5)target->build settings里搜索prefix ,在选项Prefix Header里填写My.Pch的路径(直接拖拽进去就是路径)

(6)你就可以在任意视图中使用上面定义的宏了


你可能感兴趣的:(iOS整个项目使用全局宏或类)