1

我需要帮助的应用程序有一点问题。我在网上搜索并发现了一些类似的问题,但它们并没有完全回答我自己的问题。

我想创建 42 个按钮并以“日历方式”打印出来。它不是日历,但外观让人想起它。我试过这个Create a for loop to add 39 button to an array

但我无法弄清楚如何让它完全符合我的要求。

我也试过这个:

NSMutableArray *buttons = [NSMutableArray array];

for( int i = 0; i < 5; i++ ) {

    UIButton* aButton = [UIButton buttonWithType:UIButtonTypeCustom];
    aButton.backgroundColor = [UIColor redColor];
    aButton.frame = CGRectMake(10, (i+1)*60, 60, 40);
    [aButton setTag:i];
    [buttons addObject:aButton];
    [aButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:aButton];
}

而且它的方式是正确的,但我就是不知道如何获得我想要的外观。 这是我所追求的外观,但数字范围从 1 到 42: http ://nebulon.se/images/question_img.png

4

1 回答 1

0

要布局网格,您需要一个循环中的循环。外循环增加y坐标,内循环增加x坐标。因此,随着您的进步,您在一行按钮中的每一列上工作,然后移动到下一行。就像是:

for( int i = 0; i < 5; i++ ) {
    for( int j = 0; j < 5; j++ ) {

        UIButton* aButton = [UIButton buttonWithType:UIButtonTypeCustom];
        aButton.frame = CGRectMake(j * 60, i * 60, 60, 40);

    }
}
于 2013-08-23T11:22:58.697 回答