-2

我有 3 个不同的按钮,我正在使用 for 循环在我的 UIView 中显示它。问题是,只显示了一个按钮。

float yButton = 50.0;

for (int i = 0; i < 2; i++) {
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.frame = CGRectMake(80.0, yButton + 70.0, 160.0, 40.0);
    [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchDown];
    [self.view addSubview:button];
    [button setTag:i];
}

另外,如何将按钮标题设置为 A、B 和 C(因为只有 3 个按钮)。

4

2 回答 2

3

您为所有按钮提供相同的框架。您需要增加y原点。

在循环结束时,执行以下操作:

yButton += 50; // pick a value that meets your needs.

要设置标题,请创建一个包含三个标题的数组:

NSArray *titles = @[ @"A", @"B", @"C" ];

然后在循环中:

[button setTitle:titles[i] forState:UIControlStateNormal];
于 2013-02-19T01:38:55.653 回答
2

你给所有按钮相同的框架:

telcoButton.frame = CGRectMake(80.0, yButton + 70.0, 160.0, 40.0); 

你可能想要这样做:

telcoButton.frame = CGRectMake(80.0, (yButton * i) + 70.0, 160.0, 40.0);
于 2013-02-19T01:37:49.420 回答