点击button 字体跟着改变颜色

利用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]];

        }
    }
}

 

posted on 2016-07-22 17:00  Veritas_Yang  阅读(3406)  评论(0编辑  收藏  举报