Ios 如何设置未选中所有其他复选框时始终选中1个复选框

Ios 如何设置未选中所有其他复选框时始终选中1个复选框,ios,xcode,checkbox,uibutton,Ios,Xcode,Checkbox,Uibutton,如果未选中所有其他复选框,如何设置1个始终选中的复选框 下面我使用的代码非常好,但我无法设置1个复选框 int x=0; checkbox1 = [[UIButton alloc] initWithFrame:CGRectMake(350,600+x,50,50)]; [checkbox1 setBackgroundImage:[UIImage imageNamed:@"checkboxunchecked.png"]forState:UIControlStateNo

如果未选中所有其他复选框,如何设置1个始终选中的复选框 下面我使用的代码非常好,但我无法设置1个复选框

     int x=0;

    checkbox1 = [[UIButton alloc] initWithFrame:CGRectMake(350,600+x,50,50)];

    [checkbox1 setBackgroundImage:[UIImage imageNamed:@"checkboxunchecked.png"]forState:UIControlStateNormal];
    [checkbox1 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateSelected];
    [checkbox1 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateHighlighted];

    checkbox1.adjustsImageWhenHighlighted=NO;
    checkbox1.tag=1;
    [checkbox1 addTarget:self action:@selector(checkboxSelectedMethod:) forControlEvents:UIControlEventTouchUpInside ];
    [self.view addSubview:checkbox1];
    x+=checkbox1.frame.size.width*1.5;


    checkbox2 = [[UIButton alloc] initWithFrame:CGRectMake(350,600+x,50,50)];

    [checkbox2 setBackgroundImage:[UIImage imageNamed:@"checkboxunchecked.png"]forState:UIControlStateNormal];
    [checkbox2 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateSelected];
    [checkbox2 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateHighlighted];

    checkbox2.adjustsImageWhenHighlighted=NO;
    checkbox2.tag=1;
    [checkbox2 addTarget:self action:@selector(checkboxSelectedMethod:) forControlEvents:UIControlEventTouchUpInside ];
    [self.view addSubview:checkbox2];
    x+=checkbox2.frame.size.width*1.5;
-(void)checkboxSelectedMethod:(id)sender
{
UIButton *btn = (UIButton *) sender;
if([checkbox1 isSelected])
{
    [btn setSelected:NO];

}
else{

    [btn setSelected:YES];
}
if([checkbox2 isSelected])
{
    [btn setSelected:NO];
}
else{
    [btn setSelected:YES];
}
同样,还有2个按钮,总共有4个按钮,如果没有选择其他3个按钮,则应选择第一个按钮

     int x=0;

    checkbox1 = [[UIButton alloc] initWithFrame:CGRectMake(350,600+x,50,50)];

    [checkbox1 setBackgroundImage:[UIImage imageNamed:@"checkboxunchecked.png"]forState:UIControlStateNormal];
    [checkbox1 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateSelected];
    [checkbox1 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateHighlighted];

    checkbox1.adjustsImageWhenHighlighted=NO;
    checkbox1.tag=1;
    [checkbox1 addTarget:self action:@selector(checkboxSelectedMethod:) forControlEvents:UIControlEventTouchUpInside ];
    [self.view addSubview:checkbox1];
    x+=checkbox1.frame.size.width*1.5;


    checkbox2 = [[UIButton alloc] initWithFrame:CGRectMake(350,600+x,50,50)];

    [checkbox2 setBackgroundImage:[UIImage imageNamed:@"checkboxunchecked.png"]forState:UIControlStateNormal];
    [checkbox2 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateSelected];
    [checkbox2 setBackgroundImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateHighlighted];

    checkbox2.adjustsImageWhenHighlighted=NO;
    checkbox2.tag=1;
    [checkbox2 addTarget:self action:@selector(checkboxSelectedMethod:) forControlEvents:UIControlEventTouchUpInside ];
    [self.view addSubview:checkbox2];
    x+=checkbox2.frame.size.width*1.5;
-(void)checkboxSelectedMethod:(id)sender
{
UIButton *btn = (UIButton *) sender;
if([checkbox1 isSelected])
{
    [btn setSelected:NO];

}
else{

    [btn setSelected:YES];
}
if([checkbox2 isSelected])
{
    [btn setSelected:NO];
}
else{
    [btn setSelected:YES];
}

}

如果您使用数组来存储按钮,而不是离散变量,那么将更加容易-

@property (strong,nonatomic) NSMutableArray *checkboxes;
@property (strong,nonatomic) UIImage *checkedImage;
@property (strong,nonatomic) UIImage *checkedImage;
@property (strong,nonatomic) NSMutableIndexSet *selectedSet;


int x=0;

self.uncheckedImage=[UIImage imageNamed:@"checkboxunchecked.png"];
self.checkedImage=[UIImage imageNamed:@"checked.png"];

self.selectedSet=[NSMutableIndexSet new];      //Indexset to store selected buttons

self.checkboxes=[NSMutableArray new];

for (int i=0i;i<3;i++) {
    UIButton *checkbox = [[UIButton alloc] initWithFrame:CGRectMake(350,600+x,50,50)];

    [checkbox setBackgroundImage:uncheckedImage forState:UIControlStateNormal];
    [checkbox setBackgroundImage:checkedImage forState:UIControlStateSelected];
    [checkbox setBackgroundImage:uncheckedImage forState:UIControlStateHighlighted];

    checkbox.adjustsImageWhenHighlighted=NO;
    checkbox.tag=i;
    [checkbox addTarget:self action:@selector(checkboxSelectedMethod:) forControlEvents:UIControlEventTouchUpInside ];
    [self.view addSubview:checkbox];
    [self.checkboxes addObject:checkbox];
    x+=checkbox.frame.size.width*1.5;
}

你想做所谓的“单选按钮”吗?我想把这个问题作为问题的重复来结束。@4rlekin,我不需要单选按钮!它允许我一次只选择一个,我至少需要一个或多个OK,那么您想要选中复选框1或2、3和4的任意组合?你的问题不清楚-听起来你想要单选按钮功能哦,我道歉!是,我希望选中复选框1或2、3和4的任意组合不应选择bro最小值1和最大值所有请更新您的问题以准确描述所需的行为。