多个复选框选择值将显示在TableView的不同单元格中

时间:2011-05-03 06:02:33

标签: iphone

我必须选择动态(随机)复选框,这些复选框将显示在单元格值下方的上一个列表页面中。对于所有单元格,它必须根据特定选定单元格的选择复选框而不同。当我从列表中选择特定单元格时,应在复选框列表中选中列出的复选框。

这可能吗?如果可能的话请告诉我如何。

2 个答案:

答案 0 :(得分:3)

是的,您可能需要创建一个索引数组并存储存在复选框的行的索引。

制作单元格并添加复选框按钮后,您需要添加index.row作为其titleLabel.text。看到这个

UIButton *btn=(UIButton *)[cell viewWithTag:2];
        if([self.indexArray containsObject:[NSString stringWithFormat:@"%i",indexPath.row]])
        {
          [btn setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
        }
        else 
         [btn setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];

        [btn addTarget:self action:@selector(changeButtonImage:) forControlEvents:UIControlEventTouchUpInside];
        btn.titleLabel.text=[NSString stringWithFormat:@"%i",indexPath.row];

此代码生成复选框按钮并添加其行号。现在,您可以通过此代码访问该按钮。此外,我还使用了一个数组索引数组,该数组具有已检查行的索引。

现在看到这个功能

-(void)changeButtonImage:(UIButton *)sender
{
    if([self.indexArray containsObject:sender.titleLabel.text])
    {

        [sender setImage:[UIImage imageNamed:@"uncheck.png"] forState:UIControlStateNormal];
        [self.indexArray removeObject:sender.titleLabel.text];  
    }
    else 
    {

        [sender setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateNormal];
        [self.indexArray addObject:sender.titleLabel.text];
    }
    //other stuff
}

这里只需添加索引并更改按钮图像,以便在indexarray没有该索引时检查,否则将其删除并设置图像未选中。

将此信息与您的逻辑和心灵存在一起使用。

注意:这不是确切的答案,但它显示了一个可以根据您的情况使用的概念。

对你来说可能会有所帮助。

答案 1 :(得分:3)

这就是你想要的jignesh ......

http://cocoawithlove.com/2009/01/multiple-row-selection-and-editing-in.html

祝你好运