AsyncDisplayKit CellNode 设置高亮颜色

Posted

技术标签:

【中文标题】AsyncDisplayKit CellNode 设置高亮颜色【英文标题】:AsyncDisplayKit CellNode setting highlighted color 【发布时间】:2015-07-21 18:55:51 【问题描述】:

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

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

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

【问题讨论】:

【参考方案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];

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

【讨论】:

以上是关于AsyncDisplayKit CellNode 设置高亮颜色的主要内容,如果未能解决你的问题,请参考以下文章

AsyncDisplayKit技术分析

使用 ASNetworkImageNode 下载图像后从 AsyncDisplayKit 重新布局 ASTableView

AsyncDisplayKit

AsyncDisplayKit 2.0 Objective-C 教程

更改 NSAttributedString html 链接颜色

YYAsyncLayer源代码解析