0

我正在使用 Async Display Kit 在 ASTableView 中显示单元节点。如何为单元节点的选定状态设置自定义颜色。使用普通的 tableView 单元格,我将覆盖

  • (void)setHighlighted:(BOOL)高亮动画:(BOOL)动画

在我的单元实现中,但该方法在 ASCellNodes 上不存在。有没有其他人遇到过这个问题,你是如何解决的?

4

1 回答 1

1

假设您已将 ASCellNode 子类化为创建自己的单元格,您可以添加自己的 setHighlighted 方法。

例如

- 在您的 ASCellNode 子类中

- (void)setHighlighted:(BOOL)highlighted {
    if (highlighted) {
        self.backgroundColor = [UIColor blueColor];
    } else {
        self.backgroundColor = [UIColor whiteColor];
    }
}

- 在您的委托实施中

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    MyNodeSubclass * node = (MyNodeSubclass *)[(ASTableView *)tableView nodeForRowAtIndexPath: indexPath];

    [node setHighlighted: YES];
}

注意:您需要保持自己的状态来确定哪些单元格被选中/取消选中

于 2015-07-23T11:17:56.270 回答