0

for ループを使用してプログラム的に 15 個の UIButton を作成したいと考えています。行と列、たとえば 3 行 5 列のマトリックスのようなボタンを配置したいと考えています。ボタンの高さは 50、幅は 80 です。y、幅、高さの座標を設定できます。しかし、私は x 座標だけで問題に直面しています。x 座標を設定するロジックを教えてください。

前もって感謝します。

4

3 に答える 3

5
    float x = 10;
    float y = 10;
    float width = 50;
    float height = 50;
    for(int i =0;i<15;i++)
    {
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        [btn setFrame:CGRectMake(x, y, width, height)];
        [btn setTitle:[NSString stringWithFormat:@"B%d",i+1] forState:UIControlStateNormal];
        [self.view addSubview:btn];

        x = x + width + 20;

        if((i+1)%3==0)
        {
            x = 10;
            y = y + height + 20;
        }
    }

上記のコードで x と y を置き換え、高さと幅を設定するだけです。

于 2013-03-04T10:40:57.347 に答える
3
int row = 0;
int column = 0;
for (int i = 0; i < 15; i++)
{
    if((row%3 == 0) && (row > 0))
    {
        row = 0;
        column++;
    } 
    else{
        row++; 
    }
    CGRect btnFrame = CGRectMake(row*80+10, column*50+10, 80, 50);//your button frame
    UIButton *btnTemp = [UIButton buttonWithType:UIButtonTypeCustom];
    [btnTemp setFrame:btnFrame];
    [self.view addSubView:btnTemp];
}
于 2013-03-04T10:30:20.837 に答える
2

どうぞ:

CGFloat marginX = 10.f;
CGFloat marginY = 5.f;
CGRect buttonFrame = CGRectMake(0., 0., 80., 50.f);

for(NSUInteger row = 0; row < 5; row++) {
    for(NSUInteger column = 0; column < 3; column++) {
        UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = buttonFrame;
        //... more button settings

        [self.view addSubview:button];
        buttonFrame.origin.x += marginX;
    }

    buttonFrame.origin.x = 0.;
    buttonFrame.origin.y += marginY;
}
于 2013-03-04T10:29:36.590 に答える