上面是效果图


利用for循环创建5个button,其中对这个五个button一定要赋上tag值 ,因为下面的点击操作我们要用到;

看for循环的代码:

for (int i=0; i < 5; i++) {
        UIButton *button = [[UIButton alloc] init];
        button.frame = CGRectMake(10 + 60*i, 100, 50, 40);
        button.tag = 100 + i;
        [button setTitle:[NSString stringWithFormat:@”button%d”,i] forState:UIControlStateNormal];
        [button setBackgroundColor:[UIColor lightGrayColor]];
        button.titleLabel.font = [UIFont systemFontOfSize:13];
        [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }

click:点击方法中有  UIButton *btn = (UIButton *)[self.view viewWithTag:100+i] 这么一行代码,是根据tag值获取对应for循环中的某个button;

代码如下:

 – (void)click:(UIButton *)sender {
    for (int i=0; i < 5; i++) {
        UIButton *btn = (UIButton *)[self.view viewWithTag:100+i];
        if (sender.tag – 100 == i) {
            [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
            [btn setBackgroundColor:[UIColor purpleColor]];

        }else{
            [btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
            [btn setBackgroundColor:[UIColor lightGrayColor]];

        }
    }
}




版权声明:本文为Secret_Frist原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Secret_Frist/article/details/51669196