表格视图控制器单元格复选标记

布拉凯塞帕拉

我是Objective-c编码的新手。我试图在表视图控制器上实现一个复选标记。我希望当我单击一个单元格时看到复选标记,而当我重新单击该单元格时消失。

例如,我在下面找到了此代码。但是我不清楚一件事。“数据”和“检查数据”是什么意思?我们必须在代码之前设置它们吗?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    // do usual stuff here including getting the cell

    // determine the data from the IndexPath.row

    if (data == self.checkedData)
    {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    } else {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }

    return cell; }

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // determine the selected data from the IndexPath.row

    if (data != self.checkedData) {
       self.checkedData = data;
    }

    [tableView reloadData]; }

所以我在搜索一些代码,但找不到我想要的任何代码。

我会很高兴为您提供任何帮助。

谢谢。

肝素

您发布的代码不适合一般用途。为了支持多个单元格选择,您需要一个额外的数据结构(例如boolean数组或NSIndexSet)来跟踪所选索引。然后,一旦获得tableView:didSelectRowAtindexPath:更新,数据结构并强制重新加载表,即[self.tableView reloadData]为了显示/隐藏选择复选标记

一些代码块

@implementation TableViewController {
    NSArray * _data;
    NSMutableIndexSet *_selectedIndexes;
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    ...
    self.selectedIndexes = [[NSMutableIndexSet alloc] init];
    ...
    return self;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

        if ([_selectedIndexes containsIndex:indexPath.row]) {
            [_selectedIndexes removeIndex:indexPath.row];
        } else {
             [_selectedIndexes addIndex:indexPath.row];
        }

        [tableView reloadData];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    ....

    if ([_selectedIndexes containsIndex:indexPath.row])
    {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    } else {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }
    ...
    return cell; 
}

请注意,它NSMutableIdexSet必须具有与NSArray用来填充tableView单元格的数据结构相同的长度另外,正如我所说,您可以使用BOOL数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在表格视图控制器中添加单元格

来自分类Dev

为静态表格视图单元格设置复选标记

来自分类Dev

表格视图中的单元格单击无法快速导航到新控制器

来自分类Dev

轻按单元格时推送视图控制器

来自分类Dev

单元格中的按钮并移动视图控制器

来自分类Dev

从视图控制器观察单元格的变量

来自分类Dev

如何使用表格视图单元格中的文本并将其显示为父视图控制器中的标签?

来自分类Dev

从表格单元格附件在 UINavigation 设置中显示视图控制器时,我如何知道它来自哪个表格单元格?

来自分类Dev

CollectionView单元格中的Swift CollectionView单元格-当前的新视图控制器

来自分类Dev

Swift试图将表格视图单元格上的点击事件链接到控制器方法

来自分类Dev

从视图控制器回到表视图控制器时,表视图单元格“跳转”

来自分类Dev

删除表视图单元格并刷新视图控制器后刷新表视图

来自分类Dev

删除表视图单元格并刷新视图控制器后刷新表视图

来自分类Dev

如何通过单击表视图控制器中的单元格来生成视图控制器

来自分类Dev

如何从不同的集合视图单元格选择到不同的视图控制器

来自分类Dev

表视图单元格到另一个视图控制器

来自分类Dev

如何使集合视图中的不同单元格进入Swift中的不同视图控制器

来自分类Dev

从表视图控制器引用特定的表视图单元格

来自分类Dev

无法在视图控制器中引用集合视图单元格出口

来自分类Dev

单击表格单元格时将变量值发送到下一个视图控制器

来自分类Dev

在iOS集合视图的单元格顶部显示菜单控制器

来自分类Dev

处理来自其他视图控制器的tableview单元格选择

来自分类Dev

将核心数据从选定的表单元格传递到新的视图控制器

来自分类Dev

将tableview单元格信息链接到视图控制器

来自分类Dev

当应用运行静态单元格的视图控制器时,iOS UI崩溃

来自分类Dev

使用单元格中的按钮切换到详细视图控制器

来自分类Dev

如何在表格视图单元格中获取文本字段文本,该表格视图位于 swift 4 中的另一个表格视图控制器中?

来自分类Dev

将自定义单元格图像视图图像传递到新的视图控制器

来自分类Dev

将表视图控制器链接到表视图文件时未显示单元格

Related 相关文章

  1. 1

    在表格视图控制器中添加单元格

  2. 2

    为静态表格视图单元格设置复选标记

  3. 3

    表格视图中的单元格单击无法快速导航到新控制器

  4. 4

    轻按单元格时推送视图控制器

  5. 5

    单元格中的按钮并移动视图控制器

  6. 6

    从视图控制器观察单元格的变量

  7. 7

    如何使用表格视图单元格中的文本并将其显示为父视图控制器中的标签?

  8. 8

    从表格单元格附件在 UINavigation 设置中显示视图控制器时,我如何知道它来自哪个表格单元格?

  9. 9

    CollectionView单元格中的Swift CollectionView单元格-当前的新视图控制器

  10. 10

    Swift试图将表格视图单元格上的点击事件链接到控制器方法

  11. 11

    从视图控制器回到表视图控制器时,表视图单元格“跳转”

  12. 12

    删除表视图单元格并刷新视图控制器后刷新表视图

  13. 13

    删除表视图单元格并刷新视图控制器后刷新表视图

  14. 14

    如何通过单击表视图控制器中的单元格来生成视图控制器

  15. 15

    如何从不同的集合视图单元格选择到不同的视图控制器

  16. 16

    表视图单元格到另一个视图控制器

  17. 17

    如何使集合视图中的不同单元格进入Swift中的不同视图控制器

  18. 18

    从表视图控制器引用特定的表视图单元格

  19. 19

    无法在视图控制器中引用集合视图单元格出口

  20. 20

    单击表格单元格时将变量值发送到下一个视图控制器

  21. 21

    在iOS集合视图的单元格顶部显示菜单控制器

  22. 22

    处理来自其他视图控制器的tableview单元格选择

  23. 23

    将核心数据从选定的表单元格传递到新的视图控制器

  24. 24

    将tableview单元格信息链接到视图控制器

  25. 25

    当应用运行静态单元格的视图控制器时,iOS UI崩溃

  26. 26

    使用单元格中的按钮切换到详细视图控制器

  27. 27

    如何在表格视图单元格中获取文本字段文本,该表格视图位于 swift 4 中的另一个表格视图控制器中?

  28. 28

    将自定义单元格图像视图图像传递到新的视图控制器

  29. 29

    将表视图控制器链接到表视图文件时未显示单元格

热门标签

归档