制作简单的九宫格:

源码如下:
1 #import "ViewController.h"
2
3 @interface ViewController ()
4
5 @end
6
7 @implementation ViewController
8
9 - (void)viewDidLoad {
10 [super viewDidLoad];
11
12 //创建九宫格
13 NSInteger col = 3; //每行几列
14 NSInteger total = 9;//总个数
15
16 //格子的宽度、高度
17 UIImage *image = [UIImage imageNamed:@"0.png"];
18 CGFloat cellWidth = image.size.width;
19 CGFloat cellHeight = image.size.height;
20
21 CGFloat screenWidth = self.view.frame.size.width;
22
23 CGFloat gapX = (screenWidth-cellWidth*col)/(col+1);//x方向的间隔
24 CGFloat gapY = gapX;//y方向的间隔
25
26
27 //计算行数
28 NSInteger row = 0;
29
30 for(int i=0; i<total; i++)
31 {
32 UIButton *button = [[UIButton alloc]init];
33 [button setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i]] forState:UIControlStateNormal];
34
35 //计算是否需要换行
36 if(i%col == 0)
37 {
38 row++;
39 }
40 CGFloat x = gapX+(cellWidth+gapX)*(i%col);
41 CGFloat y = gapY+(cellHeight+gapY)*row;
42 button.frame = CGRectMake(x, y, cellWidth, cellHeight);
43
44 [self.view addSubview:button];
45 }
46 }
47
48 @end
原文:http://www.cnblogs.com/daxiong520/p/4915962.html