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)你就可以在任意视图中使用上面定义的宏了