我想生成一个包含视图的网格。我需要从1行,1列到3行,6列。
我的代码现在正在工作,如果我想,所有观点都在他们的位置:
* * * * *
* * * * *
* * * * *
但我想把一些地方留空,例如我想做的事情如下:
* * * * *
* *
* * * * *
或:
* * * *
* *
* *
我的代码:
的.m
-(void) generateCardViews {
int positionsLeftInRow = CARDS_PER_ROW;
int j = 0; // j = ROWNUMBER (j = 0) = ROW1, (j = 1) = ROW2...
for (int i = 0; i < [self.gameModel.cards count]; i++) {
NSInteger value = ((CardModel *)self.gameModel.cards[i]).value;
CGFloat x = (i % CARDS_PER_ROW) * 121 + (i % CARDS_PER_ROW) * 40 + 285;
if (j == 1) {
x += 80; // set additional indent (horizontal displacement)
}
if (j == 2) {
x -= 160;
}
CGFloat y = j * 122 + j * 40 + 158;
CGRect frame = CGRectMake(x, y, 125, 125);
CardView *cv = [[CardView alloc] initWithFrame:frame andPosition:i andValue:value];
}
我该怎么做?
编辑: 现在我的代码: 如果gameModel.cards计数= 18(从我的模型得到这个),如果CARS_PER_ROW = 6我得到:
* * * * * *
* * * * * *
* * * * * *
如果gameModel.cards计数= 12(从我的模型得到这个),如果CARS_PER_ROW = 5我得到:
* * * * *
* * * * *
* *
答案 0 :(得分:0)
我认为你可以在一个arrary中创建所有框架,然后从arrary中生成按钮。