【问题标题】:How to select a all checkBox buttons in tableview cell by clicking select all button in ios如何通过单击ios中的全选按钮来选择tableview单元格中的所有复选框按钮
【发布时间】:2015-12-24 07:51:55
【问题描述】:

您好,我正在为 tableview 单元格使用复选框功能,因为当我单击导航栏按钮时,我在 tableview 单元格中使用一个按钮,在导航栏中使用另一个按钮,我想选择所有带有其他图像的按钮,例如复选框并执行单个每个表格视图单元格按钮的复选框提前感谢任何帮助

【问题讨论】:

  • 您尝试了什么,出了什么问题?你的数据模型是什么?

标签: ios uitableview checkbox uibutton togglebutton


【解决方案1】:

我可以建议两种方法,看看哪个对你可行:)

不要为单元格使用图像,因为这会不必要地增加单元格的重量。您可以使用附件视图。

方法一:存储用户选择的单元格的所有索引路径。 创建一个 NSMutableArray 来保存索引路径,我们将其称为 SelectedIndexPathArray。

     - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
           if([SelectedIndexPathArray containsObject: indexPath]){
                 cell.accessoryType = UITableViewCellAccessoryCheckmark;
           }
           else{
                cell.accessoryType = UITableViewCellAccessoryNone;
           }
       return cell;
}

现在,当用户点击全选按钮时,将 tableview 的所有索引路径添加到数组:) 你可以很容易地做到这一点,你也会得到代码 sn-p :)

当用户点击单个单元格时,您所要做的就是:)

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        if([SelectedIndexPathArray containsObject: indexPath]){
                     cell.accessoryType = UITableViewCellAccessoryNone;
                     [SelectedIndexPathArray removeObject:indexpath];
               }
               else{
                    cell.accessoryType = UITableViewCellAccessoryCheckmark;
                    [SelectedIndexPathArray addObject:indexpath];
               }
}

这就是所有的哥们:) 方法 2:如果这种方法对您不起作用,请建议使用不同的方法 :) 让我知道 :)

愉快的编码

【讨论】:

  • 感谢重播,但我需要第二种方法,因为我只需要处理图像,所以如果您不介意,请帮帮我
  • 如果你想使用图像伙伴有什么问题???使用相同的方法,而不是 cell.accessoryType 在单元格顶部有一个图像视图,而不是设置 cell.accessoryType = 不管;使您的图像隐藏或可见,仅此而已:)
  • 我提到的第二种方法是在没有数组伙伴的情况下工作 :) 无论您使用图像还是附件类型都不会有任何区别 :) 最终逻辑是相同的 :) 保存所有选定单元格的索引路径由用户和单元格中的行在 indexpath 隐藏或显示刻度线:) 如果您担心在点击单元格的图像时找到单元格的 indexpath,最简单的方法是使用 imageview 的 tag 属性并设置 indexpath 的行值和从中重新创建 indexpath :)
  • 非常感谢您节省了我的时间
【解决方案2】:

1)在那个.m文件中取一个全局bool isAllSelected

2) 在导航栏按钮上单击将 bool 设置为 true 并重新加载 tableview

3) 并在 cellForRowAtIndexMethod 中创建一个条件

if (isAllSelected) {
    cell.imageView.image = [UIImage imageNamed:@"checked.png"];
}
else
{
// set default image
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 2013-06-08
    • 2016-12-02
    • 2012-01-16
    相关资源
    最近更新 更多