objective-c - iOS:控制两个复选框

标签 objective-c ios checkbox uibutton sender

我有这个代码来控制两个复选框(自定义按钮):

- (IBAction) setCheckBox: (id) sender{

    UIImage *selected = [UIImage imageNamed:@"checkbox_checked.png"];
    UIImage *notSelected = [UIImage imageNamed:@"checkbox_unchecked.png"];

    if ([sender isSelected]) 
    {  
        [sender setImage:notSelected forState:UIControlStateNormal];  
        [sender setSelected:NO];  
        if ([sender tag] == 10) boolOne = FALSE;
        if ([sender tag] == 11) boolTwo = FALSE;
    }
    else 
    {     
        [sender setImage:selected forState:UIControlStateSelected]; 
        [sender setSelected:YES];
        if ([sender tag] == 10) boolOne = TRUE;
        if ([sender tag] == 11) boolTwo = TRUE;
    }
}

您可以看到这段代码控制了两个复选框,当我按下一个复选框时,它会被选中,而当我按下另一次时,它会变为未选中状态。

现在我想以这种方式更改此代码: 默认情况下,带有标签 10 的复选框被选中,当我按下它时,我没有效果,但是当我按下带有标签 11 的复选框时,它应该被选中,而复选框 10 应该被取消选中。 复选框应该切换选择以及 bool 值

最佳答案

if([sender isSelected])
 return;
if([sender tag] == 11){
  [sender setSelected:YES];
 [checkbox10 setSelected:NO];
}
if ([sender tag] == 10) {
 [sender setSelected:YES];
 [checkbox11 setSelected:NO];
}

你可以通过标签值获取复选框,就像我假设复选框是 uibutton 的实例一样

UIButton *checkBox10 = (UIButton*)[self.view viewWithTag:10]; 

希望你能理解。还根据代码设置图像。

关于objective-c - iOS:控制两个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691861/

相关文章:

android - CheckBox 更改值两次

javascript - 根据复选框的值选中和取消选中

ios - Objective-C语法问题

ios - 在表格滚动的自定义表格单元格中添加 subview subview 消失该做什么 subview 返回单元格

iphone - 当用户与 ios 中的 slider 交互时, ScrollView 不应滚动

javascript - 在选择/取消选择复选框时显示在 rails 中的文本区域中添加/删除值

objective-c - 带 getter= 的点语法与方法语法

objective-c - 从返回NSArray的方法发出错误信号

iphone - 图像选择器 Controller

objective-c - 在 objective-c 的 Dynamic UITableView 中创建部分