如何在iPhone上创建网格按钮。 10/10矩阵

时间:2010-10-05 09:52:12

标签: iphone

如何在iphone上创建按钮网格。 10/10矩阵...

我发现NSMatrix用于MAC ...不适用于iphone ......

在我的视图上创建按钮网格的任何替代方法。

@Thanks提前。

3 个答案:

答案 0 :(得分:2)

手动?

   int rows = 10;
    int cols = 10;

    float gridWidth = 320.0;
    float gridHeight = 320.0;

    float buttonWidth = 28.0;
    float buttonHeight = 28.0;

    float gapHorizontal = (gridWidth - (buttonWidth * rows)) / (rows + 1);
    float gapVertical = (gridHeight - (buttonHeight * cols)) / (cols + 1);

    float offsetX;
    float offsetY;

    int count = 0;

    do {
        offsetX = gapHorizontal + ((count % rows) * (buttonWidth + gapHorizontal));
        offsetY = gapVertical + ((count / rows) * (buttonHeight + gapVertical));

        UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(offsetX, offsetY, buttonWidth, buttonHeight)];
        aView.backgroundColor = [UIColor redColor];
        [self.view addSubview:aView];
        [aView release];

        offsetX+= buttonWidth + gapHorizontal;

        count++;

    } while(count < rows * cols);

答案 1 :(得分:1)

同时查看AQGridView。我想这几乎就是你要找的东西。还有更多。

答案 2 :(得分:0)

因为我通常使用它来制作网格..只需要用行和列替换

    #define MatrixRow 3
    #define MatrixColumn 3

    #define GRID_WIDTH 300
    #define GRID_HEIGHT 300


    UIView *grid = [[UIView alloc] initWithFrame:CGRectMake(10, 50, GRID_WIDTH, GRID_HEIGHT)];

    grid.backgroundColor = [UIColor brownColor];



    for (int i = 0; i< (MatrixColumn*MatrixRow); i++) {


        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 40, 40)];
        view.backgroundColor = [UIColor yellowColor];


        CGFloat xOrigin = GRID_WIDTH/(MatrixColumn*2) + (GRID_WIDTH/MatrixColumn)*(i%MatrixColumn);


        CGFloat yOrigin = GRID_HEIGHT/(MatrixRow*2) + (GRID_HEIGHT/MatrixRow) *(i/MatrixColumn);


        NSLog(@" (\"%.2f\" , \"%.2f\")",xOrigin,yOrigin);


        view.center = CGPointMake(xOrigin, yOrigin);

        [grid addSubview:view];
    }


    [self.view addSubview:grid];