From 1a78cd2e66361750bd67dd64a756d224ded8fa42 Mon Sep 17 00:00:00 2001 From: Vitaly Baev Date: Thu, 15 Oct 2015 20:27:42 +0300 Subject: [PATCH] ASCellNode selected/highlighted properties in ASCollectionView --- AsyncDisplayKit/ASCollectionView.mm | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/AsyncDisplayKit/ASCollectionView.mm b/AsyncDisplayKit/ASCollectionView.mm index b1b29335b3..3c1cc4dc18 100644 --- a/AsyncDisplayKit/ASCollectionView.mm +++ b/AsyncDisplayKit/ASCollectionView.mm @@ -106,6 +106,28 @@ static BOOL _isInterceptedSelector(SEL sel) @end +#pragma mark - +#pragma mark ASCellNode<->UICollectionViewCell bridging. + +@class _ASCollectionViewCell; + +@interface _ASCollectionViewCell : UICollectionViewCell +@property (nonatomic, weak) ASCellNode *node; +@end + +@implementation _ASCollectionViewCell + +- (void)setSelected:(BOOL)selected +{ + _node.selected = selected; +} + +- (void)setHighlighted:(BOOL)highlighted +{ + _node.highlighted = highlighted; +} + +@end #pragma mark - #pragma mark ASCollectionView. @@ -204,7 +226,7 @@ static BOOL _isInterceptedSelector(SEL sel) self.backgroundColor = [UIColor whiteColor]; - [self registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"_ASCollectionViewCell"]; + [self registerClass:[_ASCollectionViewCell class] forCellWithReuseIdentifier:@"_ASCollectionViewCell"]; return self; } @@ -412,12 +434,13 @@ static BOOL _isInterceptedSelector(SEL sel) { static NSString *reuseIdentifier = @"_ASCollectionViewCell"; - UICollectionViewCell *cell = [self dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath]; + _ASCollectionViewCell *cell = [self dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath]; ASCellNode *node = [_dataController nodeAtIndexPath:indexPath]; - [_rangeController configureContentView:cell.contentView forCellNode:node]; + cell.node = node; + return cell; }