gpt4 book ai didi

ios - 自定义表格 View 多选复选标记

转载 作者:行者123 更新时间:2023-11-29 10:35:36 25 4
gpt4 key购买 nike

我从here中学到了那如何启用 TableView 多选。但是我该如何定制呢?如何将这些默认 View 替换为我自己的 View ,如下图所示?

enter image description here

最佳答案

我找到了自己的解决方案:更改自动布局约束

我的表格 View 单元格是一个自定义单元格,在其中我需要将所有 View 向右移动以显示选择指示器,所以最初我在自定义 View 后面放置了一个自定义指示器,然后我在自定义 View 中设置了 2 个方法单元格子类来更新我的 View 的约束,以显示下面的指示器。

它们看起来像这样:

// in the cell subclass

- (void)showSelectionIndicator {
self.imageViewLeadingConstraint.constant = 50.f;
}

- (void)hideSelectionIndicator {
self.imageViewLeadingConstraint.constant = 15.f;
}

imageViewLeadingConstraint 只是一个前导约束,它决定了我所有 View 在单元格中的位置。

然后,在 View Controller 中,我自己管理选择状态和选定的 indexPaths。在 cellForRowAtIndexPath 方法中,我会像这样另外设置单元格:

// ... normal cell set up
if (self.isSelectingDownloads) {
[cell showSelectionIndicator];
} else {
[cell hideSelectionIndicator];
}
// return cell

我还有一个方法来切换选择状态:

- (void)toggleDownloading {
self.isSelectingDownloads = !self.isSelectingDownloads;

[self.tableView reloadData];
}

这使一切正常。通过调用 toggleDownloading,单元格中的 View 会按预期向右移动。当然,我还需要在didSelectRowAtIndexPath 中做一些逻辑来管理选择。

关于ios - 自定义表格 View 多选复选标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27296119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com