如何在for循环中创建10个圆形UIButton

时间:2017-03-31 19:25:16

标签: ios objective-c

如何使用for循环

创建10个带圆形的圆角UIButton,其中包含数字文本
 for(i=0;i<=10;i++) {
    j=j+10;

    UIButton *bt = [[UIButton alloc]initWithFrame:CGRectMake(10, j+10, 50, 50)];
    bt.backgroundColor = [UIColor redColor];

    bt.layer.cornerRadius = 0.5 * bt.frame.size.width;
    [bt setTitle:@"click" forState:UIControlStateNormal];
    [bt addTarget:nil action:@selector(clicked) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:bt];

}

1 个答案:

答案 0 :(得分:6)

您只看到垂直拉长的“一个”按钮,这会让您认为您只创建了一个按钮而不是11个按钮?

原因是您在代码中应用的偏移量:

 j = j + 10;

通过上述内容,您会看到11个UIButton彼此重叠,因此只有一个按钮垂直拉长的错觉。

尝试更改偏移量:

j = j + 50;

然后,您会在屏幕上垂直看到11 UIButton

作为一个 ,如果您只打算创建10个按钮而不是11个,则条件应更改为:

for(int i = 0; i < 10; i++) //instead of using <=

,不要忘记初始化j;否则你什么也看不见:

int j = 0; //do this before you enter the loop

如果你没有这样做,你本应该收到警告。

具有上述修改的10 UIButton s的结果:

enter image description here