Ios 复选框与图像有关的问题
当再次选中复选框时,它会再次显示选中的图像。请帮助Ios 复选框与图像有关的问题,ios,Ios,当再次选中复选框时,它会再次显示选中的图像。请帮助 - (IBAction)CheckBox:(id)sender { if ((CheckBox.selected==NO) { [CheckBox setBackgroundImage:[UIImage imageNamed:@"checked_checkbox.png"] forState:UIControlStateNormal]; CheckBox.selected = YES; }
- (IBAction)CheckBox:(id)sender {
if ((CheckBox.selected==NO)
{
[CheckBox setBackgroundImage:[UIImage imageNamed:@"checked_checkbox.png"] forState:UIControlStateNormal];
CheckBox.selected = YES;
}
else
{
[CheckBox setBackgroundImage:[UIImage imageNamed:@"uncheck_checkbox.png"] forState:UIControlStateSelected];
CheckBox.selected =NO;
}
}
您必须将状态设置为“正常”和“选定”
- (IBAction)CheckBox:(id)sender {
if ((CheckBox.selected==NO)
{
[CheckBox setBackgroundImage:[UIImage imageNamed:@"checked_checkbox.png"] forState:UIControlStateNormal];
[CheckBox setBackgroundImage:[UIImage imageNamed:@"uncheck_checkbox.png"] forState:UIControlStateSelected];
}
else
{
[CheckBox setBackgroundImage:[UIImage imageNamed:@"checked_checkbox.png"] forState:UIControlStateSelected];
[CheckBox setBackgroundImage:[UIImage imageNamed:@"uncheck_checkbox.png"] forState:UIControlStateNormal];
}
}
您需要编辑代码以:
- (IBAction)CheckBox:(id)sender
{
[CheckBox setBackgroundImage:[UIImage imageNamed:@"uncheck_checkbox.png"] forState:UIControlStateSelected];
[CheckBox setBackgroundImage:[UIImage imageNamed:@"checked_checkbox.png"] forState:UIControlStateNormal];
if ((CheckBox.selected==NO)
{
CheckBox.selected = YES;
}
else
{
CheckBox.selected =NO;
}
}
您最好设置:
[CheckBox setBackgroundImage:[UIImage imageNamed:@"uncheck_checkbox.png"] forState:UIControlStateSelected];
[CheckBox setBackgroundImage:[UIImage imageNamed:@"checked_checkbox.png"] forState:UIControlStateNormal];
在函数configUI或viewDidLoad中,或在xib…中,可以设置此方法的断点,然后再次运行。让我们看看它是否在两种情况下都运行。
[CheckBox setBackgroundImage:[UIImage imageNamed:@"uncheck_checkbox.png"] forState:UIControlStateSelected];
[CheckBox setBackgroundImage:[UIImage imageNamed:@"checked_checkbox.png"] forState:UIControlStateNormal];