这是个 是继承UIButton自定义的一组单选按钮
btn* 被选中时背景色:蓝色
btt*为被选中是背景色:白色

解决方案 »

  1.   

    有两种方法可以实现:
    1. 设置背景图片,选中为蓝色图片,为选中为白色图片即可  
        UIImage *image1 = [UIImage imageNamed:@"sliderWifiOff.png"];
        UIImage *image2 = [UIImage imageNamed:@"sliderWifiOn.png"];
        
        CGFloat top = 0; // 顶端盖高度
        
        CGFloat bottom = 0 ; // 底端盖高度
        
        CGFloat left = 0; // 左端盖宽度
        
        CGFloat right = 0; // 右端盖宽度
        
        UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
        
        image1 = [image1 resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
        image2 = [image2 resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch];
        [self setBackgroundImage:image1 forState:UIControlStateNormal];
        [self setBackgroundImage:image2 forState:UIControlStateSelected];
    2.用事件方法
    [QQbtn setTitle:NSLocalizedString(@"QQbtn_title", @"QQ登录") forState:UIControlStateNormal];
    [QQbtn addTarget:self action:@selector(QQlognMIFI:) forControlEvents:UIControlEventTouchUpInside];
    - (void)QQlognMIFI:(UIButton *)sender {
    sender.selected = !sender.selected;
    if (sender.selected) {
    NSLog(@"蓝色");
    [sender setBackgroundColor:[UIColor blackColor]];
    }else{
    NSLog(@"白色");
    sender setBackgroundColor:[UIColor whiteColor]];
    }
    }
      

  2.   

    有种简单的方法,直接在xib代码里面修改的://非选中状态下的背景图片
    <state key="normal" title="Button" backgroundImage="button_deselect.png"/>
    //选中状态下的背景图片
    <state key="selected" backgroundImage="button_select.png"/>这样设置之后就不用在代码里面更换图片了,直接设置Button的selected的状态就行