多个UIButton垂直显示,具有不同的UIButton名称

时间:2013-02-19 01:33:01

标签: iphone ios uiview uibutton

我有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个按钮)。

2 个答案:

答案 0 :(得分:3)

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

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

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

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

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

然后在循环中:

[button setTitle:titles[i] forState:UIControlStateNormal];

答案 1 :(得分: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);