相关文章推荐
文雅的海龟  ·  创建 TLS 客户端 ...·  1 月前    · 
失恋的稀饭  ·  10.2 细数 Python ...·  9 月前    · 
if (! _headerView) { _headerView = [[UIView alloc]initWithFrame:CGRectMake( 0 , 0 , KscreenW, 60 )]; for ( int i = 0 ; i < 10 ; i ++ ) { int x = 5 + i % 5 * width + i % 5 * 5 ; int y = i / 5 * 25 + i / 5 * 5 ; UIButton *button = [GlobalUI createButtonWithImg:nil title:[NSString stringWithFormat: @" %d " ,i] titleColor:[UIColor grayColor]]; button.frame = CGRectMake(x, y, width, 25 ); button.tag = i + 830 ; button.backgroundColor = BackgroundColor; button.clipsToBounds = YES; button.layer.cornerRadius = 5 ; [button addTarget:self action:@selector(selectedAction:) forControlEvents:UIControlEventTouchUpInside]; [_headerView addSubview:button]; if (i == 0 ) { self.tmpBtn = button; self.tmpBtn.backgroundColor = RGB( 44 , 190 , 247 ); [self.tmpBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; return _headerView;

2,具体实现方法:

-(void)selectedAction:(UIButton *)sender
    if (self.tmpBtn == sender) {
        sender.backgroundColor = RGB(44, 190, 247);
        [sender setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    }else{
        sender.backgroundColor = RGB(44, 190, 247);
        [sender setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        _tmpBtn.backgroundColor = BackgroundColor;
        [_tmpBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
    self.tmpBtn = sender;

3,主要是声明的_tmpBtn

@property(strong, nonatomic) UIButton *tmpBtn;

声明一个按钮的实例,在循环创建的时候,指定第0个按钮的选中效果,用_tmpBtn来进行标记,并指定选中的效果,譬如背景色,字体颜色等,

然后在点击事件里面,根据传入的sender的变量来进行匹配,如果是选中的实例按钮,就设置选中样式,反之,把其他的非选中的按钮和已经选中过的按钮进行设置,最后重新赋值下,即可!可能说的有的肤浅,不过大体上就是这麽个意思,见谅!效果图如下:

仅做记录! 

本文来自博客园,作者:稻草人11223,转载请注明原文链接:https://www.cnblogs.com/hero11223/p/9264801.html