Ios 如何设置未选中所有其他复选框时始终选中1个复选框
如果未选中所有其他复选框,如何设置1个始终选中的复选框 下面我使用的代码非常好,但我无法设置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
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和最大值所有请更新您的问题以准确描述所需的行为。