AsyncDisplayKit CellNode设置突出显示颜色

时间:2015-07-21 18:55:52

标签: ios asyncdisplaykit

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

  • (void)setHighlighted:(BOOL)突出显示动画:(BOOL)动画

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

1 个答案:

答案 0 :(得分:1)

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

e.g。

- 在您的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];
}

注意: 对于选择/取消选择的单元格,您需要保持自己的状态