我对某个应用程序有点问题,我希望得到一些帮助。我在网上搜索并发现了一些类似的问题,但他们并没有完全回答我自己的问题。
我想创建42个按钮并以“日历方式”打印出来。它不是一个日历,但外观让人想起它。我尝试了这个Create a for loop to add 39 buttons 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
答案 0 :(得分: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);
}
}